Поделиться через


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 см. в статье Дополнительные примечания API для DataContractSerializer.

Конструкторы

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)

Инициализирует новый экземпляр класса DataContractSerializer для выполнения сериализации или десериализации объекта указанного типа с помощью предоставленных корневых элемента и пространства имен XML.

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 для сериализации или десериализации объекта указанного типа. Этот метод также задает корневые XML-элемент и пространство имен в двух параметрах XmlDictionaryString, а также список известных типов, которые могут присутствовать в графе объекта.

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

Инициализирует новый экземпляр класса DataContractSerializer для сериализации или десериализации объекта указанного типа. Этот метод также задает список известных типов, которые могут присутствовать в графе объекта; максимальное количество сериализуемых элементов графа; параметры, указывающие, пропускать ли непредвиденные данные, использовать ли нестандартные конструкции XML для сохранения данных ссылок на объект в графе и использовать ли суррогат для пользовательской сериализации; а также параметры XmlDictionaryString, задающие XML-элемент и пространство имен, в которых находится содержимое.

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

Инициализирует новый экземпляр класса DataContractSerializer для сериализации или десериализации объекта указанного типа. Этот метод также задает список известных типов, которые могут присутствовать в графе объекта; максимальное количество сериализуемых элементов графа; параметры, указывающие, пропускать ли непредвиденные данные, использовать ли нестандартные конструкции XML для сохранения данных ссылок на объект в графе и использовать ли суррогат для пользовательской сериализации; параметры XmlDictionaryString, задающие XML-элемент и пространство имен, в которых находится содержимое, и альтернативу для сопоставления объявлений 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)

Считывает XML-поток или XML-документ с помощью средства чтения Stream и возвращает десериализованный объект.

(Унаследовано от XmlObjectSerializer)
ReadObject(XmlDictionaryReader)

Считывает XML-документ или XML-поток с помощью средства чтения XmlDictionaryReader и возвращает десериализованный объект.

(Унаследовано от XmlObjectSerializer)
ReadObject(XmlDictionaryReader, Boolean)

Считывает XML-поток с помощью средства чтения XmlDictionaryReader и возвращает десериализованный объект; также указывает, была ли выполнена проверка имени объекта перед чтением его значения.

ReadObject(XmlDictionaryReader, Boolean, DataContractResolver)

Считывает XML-документ или поток XML-документов и возвращает десериализованный объект. Метод включает параметр, определяющий, проверяется ли имя объекта, и сопоставитель для сопоставления объявлений xsi:type во время выполнения.

ReadObject(XmlReader)

Считывает XML-поток с помощью средства чтения XmlReader и возвращает десериализованный объект.

ReadObject(XmlReader, Boolean)

Считывает XML-поток с помощью средства чтения XmlReader и возвращает десериализованный объект; также указывает, была ли выполнена проверка имени объекта перед чтением его значения.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
WriteEndObject(XmlDictionaryWriter)

Выполняет запись закрывающего XML-элемента с помощью средства записи XmlDictionaryWriter.

WriteEndObject(XmlWriter)

Выполняет запись закрывающего XML-элемента с помощью средства записи XmlWriter.

WriteObject(Stream, Object)

Записывает полное содержимое объекта (начало записи, запись содержимого и завершение записи) в XML-документ или поток с помощью указанного средства записи Stream.

(Унаследовано от XmlObjectSerializer)
WriteObject(XmlDictionaryWriter, Object)

Записывает полное содержимое объекта (начало записи, запись содержимого и завершение записи) в XML-документ или поток с помощью указанного средства записи XmlDictionaryWriter.

(Унаследовано от XmlObjectSerializer)
WriteObject(XmlDictionaryWriter, Object, DataContractResolver)

Записывает все данные объекта (начальный XML-элемент, содержимое и включающий элемент) в XML-документ или поток с помощью указанного xmlDictionaryWriter. Метод включает сопоставитель для сопоставления объявлений xsi:type во время выполнения.

WriteObject(XmlWriter, Object)

Записывает все данные объекта (начальный XML-элемент, содержимое и закрывающий элемент) в XML-документ или поток с помощью средства записи XmlWriter.

WriteObjectContent(XmlDictionaryWriter, Object)

Выполняет запись содержимого XML с помощью средства записи XmlDictionaryWriter.

WriteObjectContent(XmlWriter, Object)

Выполняет запись содержимого XML с помощью средства записи XmlWriter.

WriteStartObject(XmlDictionaryWriter, Object)

Выполняет запись открывающего XML-элемента с помощью модуля записи XmlDictionaryWriter.

WriteStartObject(XmlWriter, Object)

Выполняет запись открывающего XML-элемента с помощью модуля записи XmlWriter.

Методы расширения

GetSerializationSurrogateProvider(DataContractSerializer)

Возвращает суррогатный поставщик сериализации для этого сериализатора.

SetSerializationSurrogateProvider(DataContractSerializer, ISerializationSurrogateProvider)

Указывает суррогатный поставщик сериализации для этого DataContractSerializer.

Применяется к

Потокобезопасность

Экземпляры этого класса являются потокобезопасными, за исключением случаев, когда экземпляр используется с реализацией IDataContractSurrogate или DataContractResolver.

См. также раздел