lith há 1 ano atrás
pai
commit
caafde43c6

+ 76 - 3
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Json.cs

@@ -65,6 +65,58 @@ namespace Vit.Core.Module.Serialization
 
         #endregion
 
+        #region (x.1)object <--> String
+
+        /// <summary>
+        /// T也可为值类型(例如 int?、bool)
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static string Serialize<T>(T value)
+        {
+            return Instance.SerializeToString<T>(value);
+        }
+
+        /// <summary>
+        /// T也可为值类型(例如 int?、bool)
+        /// </summary>
+        /// <param name="value"></param>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static string Serialize(object value, Type type)
+        {
+            return Instance.SerializeToString(value, type);
+        }
+
+
+
+        /// <summary>
+        /// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool)
+        /// </summary>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static T Deserialize<T>(string value)
+        {
+            return Instance.DeserializeFromString<T>(value);
+        }
+
+        /// <summary>
+        /// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool)
+        /// </summary>
+        /// <param name="value"></param>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static object Deserialize(string value, Type type)
+        {
+            return Instance.DeserializeFromString(value, type);
+        }
+
+        #endregion
 
 
         #region (x.2)object <--> bytes
@@ -117,6 +169,30 @@ namespace Vit.Core.Module.Serialization
             return Instance.DeserializeFromBytes(bytes, type);
         }
 
+        /// <summary>
+        /// type 可以为   byte[]、string、 object 、struct
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="bytes"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static T Deserialize<T>(byte[] bytes)
+        {
+            return Instance.DeserializeFromBytes<T>(bytes);
+        }
+
+        /// <summary>
+        /// type 可以为   byte[]、string、 object 、struct
+        /// </summary>
+        /// <param name="bytes"></param>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static object Deserialize(byte[] bytes, Type type)
+        {
+            return Instance.DeserializeFromBytes(bytes, type);
+        }
+
         #endregion
 
 
@@ -133,7 +209,6 @@ namespace Vit.Core.Module.Serialization
 
         #region (x.4)object <--> ArraySegmentByte
 
-
         /// <summary>
         /// 
         /// </summary>
@@ -146,8 +221,6 @@ namespace Vit.Core.Module.Serialization
         }
 
 
-
-
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public static T DeserializeFromArraySegmentByte<T>(ArraySegment<byte> bytes)
         {