/// <summary> /// 序列化接口测试 /// </summary> /// <returns></returns> //[fastCSharp.setup.testCase] internal static bool ISerialize() { serialize value = pub.ClearMember(new serialize()), value1 = new serialize(); byte[] data1 = value1.Serialize(); log.Default.Add(data1.joinString(','), false, false); serialize value2 = (serialize)value.MemberwiseClone(); value2.DeSerialize(data1); if (!pub.Equals(value1, value2)) { throw new Exception("DeSerialize"); } byte[] data2; using (MemoryStream stream = new MemoryStream()) { value1.Serialize(stream); if (stream.Length != stream.Position) { stream.SetLength(stream.Position); } data2 = stream.ToArray(); } if (!data1.equal(data2)) { throw new Exception(@"dataSerializer <> streamSerializer " + data1.joinString(',') + @" " + data2.joinString(',')); } data2 = fastCSharp.setup.cSharp.serialize.dataSerialize.Get(value1); if (!data1.equal(data2)) { throw new Exception(@"reflection dataSerialize " + data1.joinString(',') + @" " + data2.joinString(',')); } data2 = fastCSharp.setup.cSharp.serialize.streamSerialize.Get(value1); if (!data1.equal(data2)) { throw new Exception(@"reflection streamSerialize " + data1.joinString(',') + @" " + data2.joinString(',')); } value2 = fastCSharp.setup.cSharp.serialize.deSerialize.Get <serialize>(data1); if (!pub.Equals(value1, value2)) { throw new Exception("reflection deSerialize"); } return(true); }