Files
Lattice/Lattice.Core.Docking/Serialization/ISerializableLayout.cs
2026-01-27 06:07:15 +03:00

24 lines
1.0 KiB
C#

namespace Lattice.Core.Docking.Serialization;
/// <summary>
/// Определяет контракт для объектов, которые могут предоставлять состояние для сериализации.
/// </summary>
public interface ISerializableLayout
{
/// <summary>
/// Получает состояние объекта для сериализации.
/// </summary>
/// <returns>
/// Объект состояния, готовый к сериализации.
/// </returns>
object GetSerializableState();
/// <summary>
/// Восстанавливает состояние объекта из десериализованного объекта.
/// </summary>
/// <param name="state">Десериализованное состояние.</param>
/// <exception cref="ArgumentNullException">
/// Выбрасывается, когда <paramref name="state"/> равен null.
/// </exception>
void RestoreFromState(object state);
}