improvements

This commit is contained in:
Loretta 2025-11-21 16:29:05 +01:00
parent a724fce2f6
commit a67bd4f698
2 changed files with 21 additions and 2 deletions

View File

@ -34,6 +34,7 @@ public static class SerializeObjectExtensions
{ {
if (json.StartsWith("\"") && json.EndsWith("\"")) json = Regex.Unescape(json).TrimStart('"').TrimEnd('"'); if (json.StartsWith("\"") && json.EndsWith("\"")) json = Regex.Unescape(json).TrimStart('"').TrimEnd('"');
//JsonConvert.PopulateObject(json, existingObject);
return JsonConvert.DeserializeObject<T>(json, options ?? Options); return JsonConvert.DeserializeObject<T>(json, options ?? Options);
} }
@ -44,6 +45,12 @@ public static class SerializeObjectExtensions
return JsonConvert.DeserializeObject(json, toType, options ?? Options); return JsonConvert.DeserializeObject(json, toType, options ?? Options);
} }
public static void JsonTo(this string json, object target, JsonSerializerSettings? options = null)
{
if (json.StartsWith("\"") && json.EndsWith("\"")) json = Regex.Unescape(json).TrimStart('"').TrimEnd('"');
JsonConvert.PopulateObject(json, target, options ?? Options);
}
/// <summary> /// <summary>
/// Using JSON /// Using JSON
/// </summary> /// </summary>
@ -52,7 +59,17 @@ public static class SerializeObjectExtensions
/// <param name="options"></param> /// <param name="options"></param>
/// <returns></returns> /// <returns></returns>
[return: NotNullIfNotNull(nameof(src))] [return: NotNullIfNotNull(nameof(src))]
public static TDestination? CloneTo<TDestination>(this object? src, JsonSerializerSettings? options = null) where TDestination : class => src?.ToJson(options).JsonTo<TDestination>(options); public static TDestination? CloneTo<TDestination>(this object? src, JsonSerializerSettings? options = null) where TDestination : class
=> src?.ToJson(options).JsonTo<TDestination>(options);
/// <summary>
/// Using JSON
/// </summary>
/// <param name="src"></param>
/// <param name="target"></param>
/// <param name="options"></param>
/// <returns></returns>
public static void CopyTo(this object? src, object target, JsonSerializerSettings? options = null) => src?.ToJson(options).JsonTo(target, options);
//public static string ToJson(this Expression source) => JsonConvert.SerializeObject(source, Options); //public static string ToJson(this Expression source) => JsonConvert.SerializeObject(source, Options);

View File

@ -226,6 +226,8 @@ namespace AyCode.Services.Server.SignalRs
} }
} }
public TIList GetReferenceInnerList() => InnerList;
private object[]? GetContextParams() private object[]? GetContextParams()
{ {
var parameters = new List<object>(); var parameters = new List<object>();