src/DotNetCommon.Core/Serialize/CompatConverter.cs
(开头部分) 17KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using DotNetCommon.Extensions;
using System;
using System.Buffers.Text;
using System.Buffers;
using System.Collections.Concurrent;
using System.Runtime.CompilerServices;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace DotNetCommon.Serialize
{
#region DateOnly & TimeOnly
/// <summary>
/// 专为 .net6 提供
/// </summary>
internal sealed class JsonConverterDateOnly : System.Text.Json.Serialization.JsonConverter<DateOnly>
{
public string Format { get; set; }
public JsonConverterDateOnly()
{
this.Format = "yyyy-MM-dd";
}
public JsonConverterDateOnly(string format)
{
if (format == null) throw new ArgumentNullException("format");
Format = format;
}
public override DateOnly Read(ref System.Text.Json.Utf8JsonReader reader, Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
{
return DateOnly.Parse(reader.GetString());
}
public override void Write(System.Text.Json.Utf8JsonWriter writer, DateOnly value, System.Text.Json.JsonSerializerOptions options)
{
writer.WriteStringValue(value.ToString(Format));
}
}
/// <summary>
/// 专为 .net6 提供
/// </summary>
internal sealed class JsonConverterTimeOnly : System.Text.Json.Serialization.JsonConverter<TimeOnly>
{
public string Format { get; set; }
public JsonConverterTimeOnly()
{
this.Format = "HH:mm:ss.fffffff";
}
public JsonConverterTimeOnly(string format)
{
if (format == null) throw new ArgumentNullException("format");
Format = format;
}
public override TimeOnly Read(ref System.Text.Json.Utf8JsonReader reader, Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
{
return TimeOnly.Parse(reader.GetString());
}
public override void Write(System.Text.Json.Utf8JsonWriter writer, TimeOnly value, System.Text.Json.JsonSerializerOptions options)
{
后面还有 399 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
