public NETSerializerTest() { var type = typeof(INetMessage); var types = type.Assembly.GetTypes() .Where(t => !t.IsInterface && t.IsClass && !t.IsAbstract && type.IsAssignableFrom(t)) .ToArray(); NetSerializer.Serializer instance = new NetSerializer.Serializer(types); NETSerializer ns = new NETSerializer(instance); SerializerFactory.AddSerializer(new NETSerializer(instance), "NET"); }
public static void Main(string[] args) { #if NETFULL NetSerializer.Serializer instance = new NetSerializer.Serializer(new[] { typeof(Foo), typeof(SerializerWrapper) }); NETSerializer ns = new NETSerializer(instance); SerializerFactory.AddSerializer(new NETSerializer(instance), "NET"); #endif SerializerFactory.AddSerializer <JilSerializer>("jil"); SerializerFactory.AddSerializer <JsonNetSerializer>("jsonNet"); SerializerFactory.AddSerializer <ProtoBufSerializer>("ProtoBuf"); TestExcute.Excute(typeof(Program)); }
public void Setup() { var jsonNetOptions = new JsonSerializerSettings { Formatting = Formatting.None, Converters = new JsonConverter[] { new IsoDateTimeConverter { DateTimeFormat = "yyyy'-'MM'-'dd' 'HH':'mm':'ss" }, new LongToStringConverter(), }, ReferenceLoopHandling = ReferenceLoopHandling.Ignore, NullValueHandling = NullValueHandling.Ignore }; var serializeOptions = new JsonSerializerOptions { WriteIndented = false, IgnoreNullValues = false, PropertyNameCaseInsensitive = true, Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping }; serializeOptions.Converters.Add(new ImplicitInt64Converter()); serializeOptions.Converters.Add(new ImplicitUInt64Converter()); serializeOptions.Converters.Add(new ImplicitDateTimeConverter()); serializeOptions.Converters.Add(new ImplicitDateTimeOffsetConverter()); var deserializeOptions = new JsonSerializerOptions { WriteIndented = false, IgnoreNullValues = true, PropertyNameCaseInsensitive = true, Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping }; deserializeOptions.Converters.Add(new ImplicitInt16Converter()); deserializeOptions.Converters.Add(new ImplicitUInt16Converter()); deserializeOptions.Converters.Add(new ImplicitInt32Converter()); deserializeOptions.Converters.Add(new ImplicitUInt32Converter()); deserializeOptions.Converters.Add(new ImplicitInt64Converter()); deserializeOptions.Converters.Add(new ImplicitUInt64Converter()); deserializeOptions.Converters.Add(new ImplicitDecimalConverter()); deserializeOptions.Converters.Add(new ImplicitDoubleConverter()); deserializeOptions.Converters.Add(new ImplicitSingleConverter()); deserializeOptions.Converters.Add(new ImplicitByteConverter()); deserializeOptions.Converters.Add(new ImplicitSByteConverter()); deserializeOptions.Converters.Add(new ImplicitDateTimeConverter()); deserializeOptions.Converters.Add(new ImplicitDateTimeOffsetConverter()); serializeToStringObject = new { int16 = 111.ToString(), uint16 = ushort.MaxValue.ToString(), int32 = int.MaxValue.ToString(), uint32 = uint.MaxValue.ToString(), int32N = "".ToString(), int64 = 12321.ToString(), uint64 = ulong.MaxValue.ToString(), boolean = true, decimalV = decimal.MaxValue.ToString(), doubleV = "1.123445767", floatV = "1.1111", byteV = byte.MaxValue.ToString(), sbyteV = sbyte.MaxValue.ToString(), charV = 'c', date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), date1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), arr = new string[] { "a", "b" }, TestEnum = TestEnum.Approved }; jsonFromString = JsonConvert.SerializeObject(serializeToStringObject, jsonNetOptions); serializeToStringClass = (TestClass)JsonConvert.DeserializeObject(jsonFromString, typeof(TestClass), jsonNetOptions); jsonNetSerializer = new JsonNetSerializer(jsonNetOptions); textJsonSerializer = new TextJsonSerializer(serializeOptions, deserializeOptions); jilSerializer = new JilSerializer(); dataContractSerializer = new DataContractSerializer(); #if !NET5_0 binarySerializer = new BinarySerializer(); #endif protoBufSerializer = new ProtoBufSerializer(); NetSerializer.Serializer instance = new NetSerializer.Serializer(new[] { typeof(TestClass) }); netSerializer = new NETSerializer(instance); dataContractFromString = dataContractSerializer.SerializeToString(serializeToStringClass); #if !NET5_0 binaryFromString = binarySerializer.SerializeToString(serializeToStringClass); #endif protoBufFromString = protoBufSerializer.SerializeToString(serializeToStringClass); netSerializerFromString = netSerializer.SerializeToString(serializeToStringClass); jilFromString = jilSerializer.SerializeToString(serializeToStringClass); }