DataContractSerializer 类

定义

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

public ref class DataContractSerializer sealed : System::Runtime::Serialization::XmlObjectSerializer
public sealed class DataContractSerializer : System.Runtime.Serialization.XmlObjectSerializer
type DataContractSerializer = class
    inherit XmlObjectSerializer
Public NotInheritable Class DataContractSerializer
Inherits XmlObjectSerializer
继承
DataContractSerializer

注解

有关此 API 的详细信息,请参阅 DataContractSerializer 的补充 API 备注

构造函数

DataContractSerializer(Type)

初始化 DataContractSerializer 类的新实例,以便序列化或反序列化指定类型的对象。

DataContractSerializer(Type, DataContractSerializerSettings)

初始化 DataContractSerializer 类的新实例,以便序列化或反序列化指定类型和设置的对象。

DataContractSerializer(Type, IEnumerable<Type>)

初始化 DataContractSerializer 类的新实例,以便序列化或反序列化指定类型的对象以及可在对象图中呈现的已知类型的集合。

DataContractSerializer(Type, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate)

初始化 DataContractSerializer 类的新实例,以便序列化或反序列化指定类型的对象。 此方法还指定了可在对象图中呈现的已知类型的列表、图中要序列化的最大项数、指定忽略意外数据的参数、是否使用非标准的 XML 结构来保留对象引用数据以及自定义序列化的代理项。

DataContractSerializer(Type, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver)

初始化 DataContractSerializer 类的新实例,以便序列化或反序列化指定类型的对象。 此方法还指定了可在对象图中呈现的已知类型的列表、图中要序列化的最大项数、要忽略意外数据的参数、是否使用非标准的 XML 构造来保留图中的对象引用数据、自定义序列化的代理项以及在运行时映射 xsi:type 声明的备选方法。

DataContractSerializer(Type, String, String)

使用提供的 XML 根元素和命名空间初始化 DataContractSerializer 类的新实例,以便序列化或反序列化指定类型的对象。

DataContractSerializer(Type, String, String, IEnumerable<Type>)

初始化 DataContractSerializer 类的新实例,以便序列化或反序列化指定类型的对象。 此方法还在两个字符串参数中指定根 XML 元素和命名空间,并指定了可在对象图中呈现的已知类型的列表。

DataContractSerializer(Type, String, String, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate)

初始化 DataContractSerializer 类的新实例,以便序列化或反序列化指定类型的对象。 此方法还指定了可在对象图中呈现的已知类型的列表、图中要序列化的最大项数、指定忽略意外数据的参数、是否使用非标准的 XML 结构来保留对象引用数据、自定义序列化的代理项以及包含内容的 XML 元素和命名空间。

DataContractSerializer(Type, String, String, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver)

初始化 DataContractSerializer 类的新实例,以便序列化或反序列化指定类型的对象。 此方法还指定了可在对象图中呈现的已知类型的列表、图中要序列化的最大项数、要忽略意外数据的参数、是否使用非标准的 XML 构造来保留在图中的对象引用数据、自定义序列化的代理项、包含内容的 XML 元素和命名空间以及在运行时映射 xsi:type 声明的备选方法。

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)

使用通过类型为 DataContractSerializer 的参数指定的 XML 根元素和命名空间初始化 XmlDictionaryString 类的新实例,以便序列化或反序列化指定类型的对象。

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>)

初始化 DataContractSerializer 类的新实例,以便序列化或反序列化指定类型的对象。 此方法还在两个 XmlDictionaryString 参数中指定根 XML 元素和命名空间,并指定了可在对象图中呈现的已知类型的列表。

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate)

初始化 DataContractSerializer 类的新实例,以便序列化或反序列化指定类型的对象。 此方法还指定了可在对象图中呈现的已知类型的列表、要序列化的最大图项数、指定忽略意外数据的参数、是否使用非标准的 XML 结构来保留对象引用数据、自定义序列化的代理项以及指定包含内容的 XML 元素和命名空间的 XmlDictionaryString 参数。

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver)

初始化 DataContractSerializer 类的新实例,以便序列化或反序列化指定类型的对象。 此方法还指定了可在对象图中呈现的已知类型的列表、图中要序列化的最大项数、要忽略意外数据的参数、是否使用非标准的 XML 构造来保留图中的对象引用数据、自定义序列化的代理项、指定包含内容的 XML 元素和命名空间的 XmlDictionaryString 参数以及在运行时映射 xsi:type 声明的备选方法。

属性

DataContractResolver

获取用于动态将 xsi:type 声明映射到已知协定类型的组件。

DataContractSurrogate

获取一个可扩展序列化或反序列化过程的代理项类型。

IgnoreExtensionDataObject

获取一个值,指定在对类进行序列化或反序列化时是否忽略类扩展提供的数据。

KnownTypes

获取一个类型集合,这些类型可能出现在使用此 DataContractSerializer 实例序列化的对象图中。

MaxItemsInObjectGraph

获取对象图中要序列化或反序列化的最大项数。

PreserveObjectReferences

获取一个值,指定是否使用非标准的 XML 结构来保留对象引用数据。

SerializeReadOnlyTypes

获取指定只读类型是否序列化的值。

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
IsStartObject(XmlDictionaryReader)

确定是否将 XmlDictionaryReader 定位在可反序列化的对象上。

IsStartObject(XmlReader)

确定是否将 XmlReader 定位在可反序列化的对象上。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ReadObject(Stream)

使用 Stream 读取 XML 流或文档,然后返回反序列化的对象。

(继承自 XmlObjectSerializer)
ReadObject(XmlDictionaryReader)

使用 XmlDictionaryReader 读取 XML 文档或流,然后返回反序列化的对象。

(继承自 XmlObjectSerializer)
ReadObject(XmlDictionaryReader, Boolean)

使用 XmlDictionaryReader 读取 XML 流并返回反序列化的对象,并且还指定在读取其值之前是否进行检查以验证对象名称。

ReadObject(XmlDictionaryReader, Boolean, DataContractResolver)

读取一个 XML 文档或文档流,并返回反序列化的对象。 此方法包括用于指定是否验证对象名称的参数和用于在运行时映射 xsi:type 声明的解析器。

ReadObject(XmlReader)

使用 XmlReader 读取 XML 流,并返回反序列化的对象。

ReadObject(XmlReader, Boolean)

使用 XmlReader 读取 XML 流并返回反序列化的对象,并且还指定在读取其值之前是否进行检查以验证对象名称。

ToString()

返回表示当前对象的字符串。

(继承自 Object)
WriteEndObject(XmlDictionaryWriter)

使用 XmlDictionaryWriter 写入结束 XML 元素。

WriteEndObject(XmlWriter)

使用 XmlWriter 写入结束 XML 元素。

WriteObject(Stream, Object)

使用指定的 Stream 将对象的完整内容(开始、内容和结束)写入 XML 文档或流。

(继承自 XmlObjectSerializer)
WriteObject(XmlDictionaryWriter, Object)

使用指定的 XmlDictionaryWriter 将对象的完整内容(开始、内容和结束)写入 XML 文档或流。

(继承自 XmlObjectSerializer)
WriteObject(XmlDictionaryWriter, Object, DataContractResolver)

使用指定的 XmlDictionaryWriter 将 xml 文档或流 (起始 XML 元素、内容和封闭元素) 的所有对象数据写入 XML 文档或流。 此方法包含用于在运行时映射 xsi:type 声明的解析器。

WriteObject(XmlWriter, Object)

使用 XmlWriter 将所有对象数据(开始 XML 元素、内容和结束元素)写入 XML 文档或流。

WriteObjectContent(XmlDictionaryWriter, Object)

使用 XmlDictionaryWriter 写入 XML 内容。

WriteObjectContent(XmlWriter, Object)

使用 XmlWriter 写入 XML 内容。

WriteStartObject(XmlDictionaryWriter, Object)

使用 XmlDictionaryWriter 写入开始 XML 元素。

WriteStartObject(XmlWriter, Object)

使用 XmlWriter 写入开始 XML 元素。

扩展方法

GetSerializationSurrogateProvider(DataContractSerializer)

返回用于此序列化程序的代理项序列化提供程序。

SetSerializationSurrogateProvider(DataContractSerializer, ISerializationSurrogateProvider)

指定用于此 DataContractSerializer 的代理项序列化提供程序。

适用于

线程安全性

此类的实例是线程安全的,除非实例与 或 DataContractResolverIDataContractSurrogate实现一起使用。

另请参阅