public void TestClone() { JsonSerializeSetting c = new JsonSerializeSetting(); c.IgnoreAttributeType = typeof(string); c.SAIN = new Random().Next(Int32.MinValue, Int32.MaxValue).ToString(); c.ActionName = new Random().Next(Int32.MinValue, Int32.MaxValue).ToString(); #if NET_40_UP || NETSTANDARD_2_0_UP c.AssemblyQualifiedName = new Random().Next(Int32.MinValue, Int32.MaxValue).ToString(); #endif #if NET || NETSTANDARD_2_0_UP c.EnableOnDeserializedAttribute = !c.EnableOnDeserializedAttribute; c.EnableOnDeserializingAttribute = !c.EnableOnDeserializingAttribute; c.EnableOnSerializedAttribute = !c.EnableOnSerializedAttribute; c.EnableOnSerializingAttribute = !c.EnableOnSerializingAttribute; #endif foreach (string name in Enum.GetNames(typeof(SerializeMemberType))) { SerializeMemberType t = (SerializeMemberType)Enum.Parse(typeof(SerializeMemberType), name); if (c.MemberType != t) { c.MemberType = t; } } foreach (string name in Enum.GetNames(typeof(DateTimeSerializationMode))) { DateTimeSerializationMode t = (DateTimeSerializationMode)Enum.Parse(typeof(DateTimeSerializationMode), name); if (c.Mode != t) { c.Mode = t; } } foreach (string name in Enum.GetNames(typeof(SerializeMemberModifier))) { SerializeMemberModifier t = (SerializeMemberModifier)Enum.Parse(typeof(SerializeMemberModifier), name); if (c.Modifier != t) { c.Modifier = t; } } c.SerializeDefalutValue = !c.SerializeDefalutValue; c.ActionName = new Random().Next(Int32.MinValue, Int32.MaxValue).ToString(); JsonSerializeSetting c_new = c.Clone() as JsonSerializeSetting; PropertyInfo[] pis = typeof(JsonSerializeSetting).GetProperties(); foreach (PropertyInfo pi in pis) { Assert.AreEqual(pi.GetValue(c, null), pi.GetValue(c_new, null)); } }
private static XmlDateTimeSerializationMode Convert(DateTimeSerializationMode pMode) { switch (pMode) { case DateTimeSerializationMode.Local: return(XmlDateTimeSerializationMode.Local); case DateTimeSerializationMode.RoundtripKind: return(XmlDateTimeSerializationMode.RoundtripKind); case DateTimeSerializationMode.Unspecified: return(XmlDateTimeSerializationMode.Unspecified); case DateTimeSerializationMode.Utc: return(XmlDateTimeSerializationMode.Utc); } throw new NotImplementedException(); }