public override bool Equals(object obj) { if (obj == null) { return(false); } if (!(obj is TestSerialize)) { return(false); } TestSerialize ob = (TestSerialize)obj; if (ob.Values.Count != this.Values.Count) { return(false); } for (int i = 0; i < ob.Values.Count; i++) { if (ob.Values[i] != this.Values[i]) { return(false); } } return(true); }
void BinarySerialize(TestSerialize _testSerialize) { FileStream fs = new FileStream(Application.dataPath + "/test.bytes", FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(fs, _testSerialize); fs.Close(); }
/// <summary> /// 二进制的序列化 /// </summary> /// <param name="testSerialize"></param> void BinarySerilize(TestSerialize testSerialize) { FileStream fs = new FileStream(Application.streamingAssetsPath + "/test.byte", FileMode.Create, FileAccess.ReadWrite); BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(fs, testSerialize); fs.Close(); }
TestSerialize XmlDeSerilize() { FileStream fs = new FileStream(Application.dataPath + "/test.xml", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); XmlSerializer xs = new XmlSerializer(typeof(TestSerialize)); TestSerialize testSerialize = (TestSerialize)xs.Deserialize(fs); fs.Close(); return(testSerialize); }
TestSerialize BinaryDeSerialize() { TextAsset textAsset = UnityEditor.AssetDatabase.LoadAssetAtPath <TextAsset>("Assets/test.bytes"); MemoryStream ms = new MemoryStream(textAsset.bytes); BinaryFormatter bf = new BinaryFormatter(); TestSerialize testSerialize = (TestSerialize)bf.Deserialize(ms); ms.Close(); return(testSerialize); }
void XmlSerilize(TestSerialize testSerialize) { FileStream fileStream = new FileStream(Application.streamingAssetsPath + "/test.xml", FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); StreamWriter streamWriter = new StreamWriter(fileStream, System.Text.Encoding.UTF8); XmlSerializer xml = new XmlSerializer(testSerialize.GetType()); xml.Serialize(streamWriter, testSerialize); streamWriter.Close(); fileStream.Close(); }
void DeSerializeTest() { TestSerialize testSerialize = XmlDeSerilize(); Debug.Log(testSerialize.Id); Debug.Log(testSerialize.Name); for (int i = 0; i < testSerialize.ListTest.Count; i++) { Debug.Log(testSerialize.ListTest[i]); } }
/// <summary> /// 类的序列化 /// </summary> void XmlSerilizeTest() { TestSerialize testSerialize = new TestSerialize(); testSerialize.Id = 1; testSerialize.Name = "test"; testSerialize.list = new List <int>(); testSerialize.list.Add(2); testSerialize.list.Add(3); XmlSerilize(testSerialize); }
//void DesBinarialize() //{ // // FileStream fs = new FileStream(Application.streamingAssetsPath+"/test.byte",FileMode.Open,FileAccess.ReadWrite); // TextAsset textAsset = UnityEditor.AssetDatabase.LoadAssetAtPath<TextAsset>(Application.dataPath +"/test.byte"); // MemoryStream stream = new MemoryStream(textAsset.bytes); // BinaryFormatter bf = new BinaryFormatter(); // TestSerialize testSerialize = (TestSerialize)bf.Deserialize(stream); // Debug.Log(testSerialize.Id + testSerialize.Name); // stream.Close(); //} /// <summary> /// 反序列化吧XML转成类u /// </summary> /// <returns></returns> TestSerialize XmlDesSerialize() { FileStream fileStream = new FileStream(Application.streamingAssetsPath + "/test.xml", FileMode.Open, FileAccess.ReadWrite); //StreamReader SR = new StreamReader(fileStream,System.Text.Encoding.UTF8); XmlSerializer xs = new XmlSerializer(typeof(TestSerialize)); TestSerialize testSerialize = (TestSerialize)xs.Deserialize(fileStream); fileStream.Close(); Debug.Log(testSerialize.Id + testSerialize.Name); return(testSerialize); }
void XmlSerialize(TestSerialize _testSerialize) { // 1.打开文件流 2.创建写入流 3.创建xml序列化类 FileStream fileStream = new FileStream(Application.dataPath + "/test.xml", FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); StreamWriter sw = new StreamWriter(fileStream, Encoding.UTF8); XmlSerializer xml = new XmlSerializer(_testSerialize.GetType()); // 把_testSerilize序列化到写入流中 xml.Serialize(sw, _testSerialize); sw.Close(); fileStream.Close(); }
public void SetUp() { serializer = new DataSerializer(); ts = new TestSerialize(4); ts.i = 5; ts.s = "xxx"; TestSerialize2 ts2 = new TestSerialize2(); ts2.lst.Add("a"); ts.ts2 = ts2; }
void SerializeTest() { TestSerialize testSerialize = new TestSerialize { Id = 1, Name = "测试", ListTest = new List <int> { 1, 2, 3 } }; testSerialize.SetPrivateId(999); testSerialize.SetPrivateList(888); testSerialize.SetPrivateList(777); testSerialize.SetPrivateList(666); testSerialize.SetPrivateName("神秘人"); // XmlSerialize(testSerialize); BinarySerialize(testSerialize); }
protected override void Arrange() { serializable = new TestSerialize(); serializable.Items.Add(new TestSerializeItem { Id = 1, Name = "Test1" }); serializable.Items.Add(new TestSerializeItem { Id = 2, Name = "Test2" }); serializable.Items.Add(new TestSerializeItem { Id = 3, Name = "Test3" }); serializable.Items.Add(new TestSerializeItem { Id = 4, Name = "Test4" }); serializer = new Xngine.Tools.Commons.Xml.XmlSerializer(); }
public void OptionFileTests() { Lib.Options obs = new Lib.Options(filename); TestSerialize serl = new TestSerialize(); for (int i = 0; i < 100; i++) { serl.Values.Add(i * i); } obs.serialize("serl", serl); List <TestValue> testvals = new List <TestValue>(); int val = 1; testvals.Add(new TestValue(val++, true)); testvals.Add(new TestValue(val++, false)); testvals.Add(new TestValue(val++, 12.123123123m)); testvals.Add(new TestValue(val++, -12.123123123m)); testvals.Add(new TestValue(val++, @"Hoi!""$""!)§ &(""$)""$)!,.-()//\\|{}[]<>:;")); testvals.Add(new TestValue(val++, "Hoi")); testvals.Add(new TestValue(val++, 12)); foreach (TestValue item in testvals) { obs.set(item.name, item.val); } obs.saveIfNeeded(); Lib.Options obsNew = new Lib.Options(filename); obsNew.load(); foreach (TestValue item in testvals) { if (item.val is bool) { Assert.AreEqual(item.val, obsNew.get(item.name.ToString()).BoolValue); } else if (item.val is int) { Assert.AreEqual(item.val, obsNew.get(item.name.ToString()).IntValue); } else if (item.val is long) { Assert.AreEqual(item.val, obsNew.get(item.name.ToString()).LongValue); } else if (item.val is decimal) { Assert.AreEqual(item.val, obsNew.get(item.name.ToString()).DecimalValue); } else if (item.val is string) { Assert.AreEqual(item.val, obsNew.get(item.name.ToString()).Value); } } object de = obs.deserialize("serl"); Assert.IsNotNull(de); Assert.IsTrue(de is TestSerialize); TestSerialize deser = (TestSerialize)de; Assert.AreEqual(serl, deser); }
static void Main(string[] args) { TestSerialize obj = new TestSerialize(); obj.TestSerialization(); }
protected override void Act() { result = serializer.Deserialize <TestSerialize>(XML_TO_TEST); }