diff --git a/AyCode.Core/Extensions/PropertyHelper.cs b/AyCode.Core/Extensions/PropertyHelper.cs index fe72497..e8eb83d 100644 --- a/AyCode.Core/Extensions/PropertyHelper.cs +++ b/AyCode.Core/Extensions/PropertyHelper.cs @@ -1,4 +1,5 @@ using System.Collections; +using System.Diagnostics.CodeAnalysis; using System.Reflection; namespace AyCode.Core.Extensions; diff --git a/AyCode.Core/Extensions/SerializeObjectExtensions.cs b/AyCode.Core/Extensions/SerializeObjectExtensions.cs index 5a8c610..92e05fb 100644 --- a/AyCode.Core/Extensions/SerializeObjectExtensions.cs +++ b/AyCode.Core/Extensions/SerializeObjectExtensions.cs @@ -1,4 +1,5 @@ -using System.Linq.Expressions; +using System.Diagnostics.CodeAnalysis; +using System.Linq.Expressions; using AyCode.Core.Interfaces; using MessagePack.Resolvers; using MessagePack; @@ -41,6 +42,15 @@ public static class SerializeObjectExtensions return JsonConvert.DeserializeObject(json, toType, Options); } + /// + /// Using JSON + /// + /// + /// + /// + [return: NotNullIfNotNull(nameof(src))] + public static TDestination? CloneTo(this object? src) where TDestination : class => src?.ToJson().JsonTo(); + //public static string ToJson(this Expression source) => JsonConvert.SerializeObject(source, Options); public static byte[] ToMessagePack(this object message) => MessagePackSerializer.Serialize(message);