Files

64 lines
1.9 KiB
C#

namespace Pf2e.Web.Helpers.Serialization;
/// <summary>
/// Результат сериализации сущности.
/// </summary>
public class SerializationResult
{
/// <summary>
/// Группы полей.
/// </summary>
public List<SerializationGroup> Groups { get; set; } = [];
/// <summary>
/// Расширяет текущий результат сериализации, добавляя группы из другого результата.
/// </summary>
/// <param name="other">Другой результат сериализации.</param>
public void ExtendWith(SerializationResult other)
{
Groups.AddRange(other.Groups);
}
}
/// <summary>
/// Группа полей для сериализации.
/// </summary>
public class SerializationGroup
{
/// <summary>
/// Название группы.
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// Список полей в группе.
/// </summary>
public List<SerializationField> Fields { get; set; } = [];
}
/// <summary>
/// Поле для сериализации.
/// </summary>
public class SerializationField
{
/// <summary>
/// Название поля.
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// Значение поля в строковом представлении.
/// </summary>
public string Type { get; set; } = string.Empty;
/// <summary>
/// Значение поля в строковом представлении.
/// </summary>
public string Value { get; set; } = string.Empty;
/// <summary>
/// Флаг, указывающий, реализовано ли поле (true) или нет (false).
/// </summary>
public bool IsImplemented { get; set; } = true;
}