windows8 中的序列化以及反序列化

来源:互联网 发布:lua和javascript 编辑:程序博客网 时间:2024/05/16 18:15

你可以在Launch时,进行反序列化。在Suspend和Terminate时,进行序列化。

你可以自定义数据类型,用DataContract和DataMember属性声明要序列化的类和数据成员,然后调用DataContractSerializer Class 进行实际的序列化和反序列化。

样例代码如下

using System.Runtime.Serialization;// declare custom serializable type[DataContract(Name = "MyData", Namespace = "http://www.mysite.com")]class MyData{[DataMember()]public string FirstName;[DataMember]public string LastName;[DataMember()]public int ID;public MyData(string fname, string lname, int newID){FirstName = fname;LastName = lname;ID = newID;}}// serialize sample codeMyData myData = new MyData("a", "b", 1);             StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("mydata,xml", CreationCollisionOption.ReplaceExisting);IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.ReadWrite);using (IOutputStream outStream = stream.GetOutputStreamAt(0)){                                              DataContractSerializer serializer = new DataContractSerializer(typeof(MyData));serializer.WriteObject(outStream.AsStreamForWrite(), myData);await outStream.FlushAsync();}
原创粉丝点击