C# DataContractSerializer类代码示例

本文整理汇总了C#中System.Runtime.Serialization.DataContractSerializer类的典型用法代码示例。如果您正苦于以下问题:C# DataContractSerializer类的具体用法?C# DataContractSerializer怎么用?C# DataContractSerializer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。

DataContractSerializer类属于System.Runtime.Serialization命名空间,在下文中一共展示了DataContractSerializer类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。.

示例1: Person

namespace DataContractSerializerExample{    using System;    using System.Collections;    using System.Collections.Generic;    using System.Runtime.Serialization;    using System.Xml;
    // You must apply a DataContractAttribute or SerializableAttribute    // to a class to have it serialized by the DataContractSerializer.    [DataContract(Name = "Customer", Namespace = "http://www.contoso.com")]    class Person : IExtensibleDataObject    {        [DataMember()]        public string FirstName;        [DataMember]        public string LastName;        [DataMember()]        public int ID;
        public Person(string newfName, string newLName, int newID)        {            FirstName = newfName;            LastName = newLName;            ID = newID;        }
        private ExtensionDataObject extensionData_Value;
        public ExtensionDataObject ExtensionData        {            get            {                return extensionData_Value;            }            set            {                extensionData_Value = value;            }        }    }
    public sealed class Test    {        private Test() { }
        public static void Main()        {            try            {                WriteObject("DataContractSerializerExample.xml");                ReadObject("DataContractSerializerExample.xml");            }
            catch (SerializationException serExc)            {                Console.WriteLine("Serialization Failed");                Console.WriteLine(serExc.Message);            }            catch (Exception exc)            {                Console.WriteLine(                "The serialization operation failed: {0} StackTrace: {1}",                exc.Message, exc.StackTrace);            }
            finally            {                Console.WriteLine("Press <Enter> to exit....");                Console.ReadLine();            }        }
        public static void WriteObject(string fileName)        {            Console.WriteLine(                "Creating a Person object and serializing it.");            Person p1 = new Person("Zighetti", "Barbara", 101);            FileStream writer = new FileStream(fileName, FileMode.Create);            DataContractSerializer ser =                new DataContractSerializer(typeof(Person));            ser.WriteObject(writer, p1);            writer.Close();        }
        public static void ReadObject(string fileName)        {            Console.WriteLine("Deserializing an instance of the object.");            FileStream fs = new FileStream(fileName,            FileMode.Open);            XmlDictionaryReader reader =                XmlDictionaryReader.CreateTextReader(fs, new XmlDictionaryReaderQuotas());            DataContractSerializer ser = new DataContractSerializer(typeof(Person));
            // Deserialize the data and read it from the instance.            Person deserializedPerson =                (Person)ser.ReadObject(reader, true);            reader.Close();            fs.Close();            Console.WriteLine(String.Format("{0} {1}, ID: {2}",            deserializedPerson.FirstName, deserializedPerson.LastName,            deserializedPerson.ID));        }    }

开发者ID:.NET开发者,项目名称:System.Runtime.Serialization,

本文转载自https://vimsky.com/examples/detail/csharp-class-system.runtime.serialization.datacontractserializer.html,如有侵权,请联系小编删除!