using System.Text.Json;
using System.Text.Json.Serialization;
namespace Dpz.Core.Public.ViewModel.Converts;
/// <summary>
/// Represents the EnumConverter type.
/// </summary>
public class EnumConverter<T> : JsonConverter<T>
where T : struct, Enum
{
/// <summary>
/// Executes Read.
/// </summary>
public override T Read(
ref Utf8JsonReader reader,
Type typeToConvert,
JsonSerializerOptions options
)
{
if (Enum.TryParse(reader.GetString(), out T value))
{
return value;
}
return default;
}
/// <summary>
/// Executes Write.
/// </summary>
public override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options)
{
writer.WriteStringValue(value.ToString());
}
}
AI 正在分析代码…
评论加载中...