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
- Наследование
Комментарии
Дополнительные сведения об этом API см. в дополнительных примечаниях API для DataContractSerializer.
Конструкторы
| Имя | Описание |
|---|---|
| DataContractSerializer(Type, DataContractSerializerSettings) |
Инициализирует новый экземпляр DataContractSerializer класса для сериализации или десериализации объекта указанного типа и параметров. |
| DataContractSerializer(Type, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver) |
Инициализирует новый экземпляр DataContractSerializer класса для сериализации или десериализации объекта указанного типа. Этот метод также указывает список известных типов, которые могут присутствовать в графе объектов, максимальное количество элементов графа для сериализации, параметры для пропуска непредвиденных данных, использование нестандартных XML-конструкций для сохранения ссылочных данных объекта в графе, суррогата для пользовательской сериализации и альтернативы для объявлений сопоставления |
| DataContractSerializer(Type, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate) |
Инициализирует новый экземпляр DataContractSerializer класса для сериализации или десериализации объекта указанного типа. Этот метод также указывает список известных типов, которые могут присутствовать в графе объектов, максимальное количество элементов графа для сериализации, параметры для пропуска непредвиденных данных, использование нестандартных XML-конструкций для сохранения эталонных данных объекта в графе и суррогат для пользовательской сериализации. |
| DataContractSerializer(Type, IEnumerable<Type>) |
Инициализирует новый экземпляр DataContractSerializer класса для сериализации или десериализации объекта указанного типа, а также коллекции известных типов, которые могут присутствовать в графе объектов. |
| DataContractSerializer(Type, String, String, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver) |
Инициализирует новый экземпляр DataContractSerializer класса для сериализации или десериализации объекта указанного типа. Этот метод также указывает список известных типов, которые могут присутствовать в графе объектов, максимальное количество элементов графа для сериализации, параметров, которые игнорируют непредвиденные данные, независимо от того, следует ли использовать нестандартные xml-конструкции для сохранения ссылочных данных объекта в графе, суррогата для пользовательской сериализации, XML-элемента и пространства имен, содержащего содержимое, и альтернатива для объявлений сопоставления |
| DataContractSerializer(Type, String, String, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate) |
Инициализирует новый экземпляр DataContractSerializer класса для сериализации или десериализации объекта указанного типа. Этот метод также задает список известных типов, которые могут присутствовать в графе объектов, максимальное количество элементов графа для сериализации, параметры для пропуска непредвиденных данных, использование нестандартных xml-конструкций для сохранения ссылочных данных объекта в графе, суррогата для пользовательской сериализации, а также элемента XML и пространства имен, содержащего содержимое. |
| DataContractSerializer(Type, String, String, IEnumerable<Type>) |
Инициализирует новый экземпляр DataContractSerializer класса для сериализации или десериализации объекта указанного типа. Этот метод также задает корневой XML-элемент и пространство имен в двух строковых параметрах, а также список известных типов, которые могут присутствовать в графе объектов. |
| DataContractSerializer(Type, String, String) |
Инициализирует новый экземпляр DataContractSerializer класса для сериализации или десериализации объекта указанного типа с помощью предоставленного корневого элемента XML и пространства имен. |
| DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver) |
Инициализирует новый экземпляр DataContractSerializer класса для сериализации или десериализации объекта указанного типа. Этот метод также указывает список известных типов, которые могут присутствовать в графе объектов, максимальное количество элементов графа для сериализации, параметры для пропуска непредвиденных данных, использование нестандартных XML-конструкций для сохранения ссылочных данных объекта в графе, суррогатной для пользовательской сериализации, параметров XmlDictionaryString , определяющих XML-элемент и пространство имен, содержащее содержимое, и альтернатива для объявлений сопоставления |
| DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate) |
Инициализирует новый экземпляр DataContractSerializer класса для сериализации или десериализации объекта указанного типа. Этот метод также указывает список известных типов, которые могут присутствовать в графе объектов, максимальное количество элементов графа для сериализации, параметры для пропуска непредвиденных данных, использование нестандартных xml-конструкций для сохранения ссылочных данных объекта в графе, суррогата для пользовательской сериализации и параметров XmlDictionaryString , определяющих XML-элемент и пространство имен, содержащее содержимое. |
| DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>) |
Инициализирует новый экземпляр DataContractSerializer класса для сериализации или десериализации объекта указанного типа. Этот метод также указывает корневой XML-элемент и пространство имен в двух XmlDictionaryString параметрах, а также список известных типов, которые могут присутствовать в графе объектов. |
| DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString) |
Инициализирует новый экземпляр DataContractSerializer класса для сериализации или десериализации объекта указанного типа с помощью корневого элемента XML и пространства имен, указанного с помощью параметров типа XmlDictionaryString. |
| DataContractSerializer(Type) |
Инициализирует новый экземпляр DataContractSerializer класса для сериализации или десериализации объекта указанного типа. |
Свойства
| Имя | Описание |
|---|---|
| DataContractResolver |
Возвращает компонент, используемый для динамического сопоставления |
| 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-поток или документ с помощью десериализированного Stream объекта и возвращает десериализированный объект. (Унаследовано от XmlObjectSerializer) |
| ReadObject(XmlDictionaryReader, Boolean, DataContractResolver) |
Считывает XML-документ или поток документов и возвращает десериализированный объект. Этот метод содержит параметр, указывающий, проверяется ли имя объекта, и сопоставитель для объявлений сопоставления |
| ReadObject(XmlDictionaryReader, Boolean) |
Считывает XML-поток с XmlDictionaryReader десериализированным объектом и возвращает десериализированный объект, а также указывает, выполняется ли проверка имени объекта перед чтением его значения. |
| ReadObject(XmlDictionaryReader) |
Считывает XML-документ или поток с десериализированным XmlDictionaryReader объектом. (Унаследовано от XmlObjectSerializer) |
| ReadObject(XmlReader, Boolean) |
Считывает XML-поток с XmlReader десериализированным объектом и возвращает десериализированный объект, а также указывает, выполняется ли проверка имени объекта перед чтением его значения. |
| ReadObject(XmlReader) |
Считывает XML-поток с десериализированным XmlReader объектом и возвращает десериализированный объект. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| WriteEndObject(XmlDictionaryWriter) |
Записывает закрывающий XML-элемент с помощью элемента XmlDictionaryWriter. |
| WriteEndObject(XmlWriter) |
Записывает закрывающий XML-элемент с помощью элемента XmlWriter. |
| WriteObject(Stream, Object) |
Записывает полное содержимое (начало, содержимое и конец) объекта в XML-документ или поток с указанным Stream. (Унаследовано от XmlObjectSerializer) |
| WriteObject(XmlDictionaryWriter, Object, DataContractResolver) |
Записывает все данные объекта (начальный XML-элемент, содержимое и вложенный элемент) в XML-документ или поток с помощью указанного XmlDictionaryWriter. Этот метод включает в себя сопоставитель для объявлений сопоставления |
| WriteObject(XmlDictionaryWriter, Object) |
Записывает полное содержимое (начало, содержимое и конец) объекта в XML-документ или поток с указанным XmlDictionaryWriter. (Унаследовано от XmlObjectSerializer) |
| 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.