DataContractSerializer

     使用提供的数据协定,将类型实例序列化和反序列化为 XML 流或文档。 无法继承此类。

命名空间: System.Runtime.Serialization
程序集:  System.Runtime.Serialization(在 System.Runtime.Serialization.dll 中)

备注

     使用 DataContractSerializer 类可以将类型实例序列化和反序列化为 XML 流或文档。 通过将 DataContractAttribute 特性应用于类,而将DataMemberAttribute 特性应用于类成员,可以指定要序列化的属性和字段。

      从字面意思来理解就是:数据契约序列化,本文主要是讲解用DataContractSerializer 序列化和反序列化,关于它在WCF中的应用大家可以参考《WCF全面解析上册 蒋金楠著》第五章 序列化,里面有专门的介绍。

DataContractAttribute与DataMenmberAttribute

 1 #region 程序集 System.Runtime.Serialization.dll, v4.0.0.0
 2 // C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Runtime.Serialization.dll
 3 #endregion
 4 
 5 using System;
 6 
 7 namespace System.Runtime.Serialization
 8 {
 9     // 摘要:
10     //     指定该类型要定义或实现一个数据协定,并可由序列化程序(如 System.Runtime.Serialization.DataContractSerializer)进行序列化。
11     //     若要使其类型可序列化,类型作者必须为其类型定义数据协定。
12     [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum, Inherited = false, AllowMultiple = false)]
13     public sealed class DataContractAttribute : Attribute
14     {
15         // 摘要:
16         //     初始化 System.Runtime.Serialization.DataContractAttribute 类的新实例。
17         public DataContractAttribute();
18 
19         // 摘要:
20         //     获取或设置一个值,该值指示是否保留对象引用数据。
21         //
22         // 返回结果:
23         //     如果使用标准 XML 保留对象引用数据,则为 true;否则为 false。 默认值为 false。
24         public bool IsReference { get; set; }
25         //
26         // 摘要:
27         //     获取或设置类型的数据协定的名称。
28         //
29         // 返回结果:
30         //     数据协定的本地名称。 默认值是应用了该属性的类的名称。
31         public string Name { get; set; }
32         //
33         // 摘要:
34         //     获取或设置类型的数据协定的命名空间。
35         //
36         // 返回结果:
37         //     协定的命名空间。
38         public string Namespace { get; set; }
39     }
40 }
DataContractAttribute

相关文章: