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

Определение

Инициализирует новый экземпляр класса DataContractSerializer.

Перегрузки

Имя Описание
DataContractSerializer(Type)

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

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

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

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

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

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

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

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

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

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, IEnumerable<Type>)

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

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)

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

DataContractSerializer(Type, String, String)

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

DataContractSerializer(Type, DataContractSerializerSettings)

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

DataContractSerializer(Type, IEnumerable<Type>)

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

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

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

DataContractSerializer(Type)

Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs

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

public:
 DataContractSerializer(Type ^ type);
public DataContractSerializer(Type type);
new System.Runtime.Serialization.DataContractSerializer : Type -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type)

Параметры

type
Type

Тип экземпляров, сериализованных или десериализируемых.

Примеры

В следующем примере создается экземпляр, указывающий DataContractSerializer тип для сериализации или десериализации.

public static void Constructor1()
{
    // Create an instance of the DataContractSerializer.
    DataContractSerializer ser =
        new DataContractSerializer(typeof(Person));
    // Other code not shown.
}
 Public Shared Sub Constructor1() 
     ' Create an instance of the DataContractSerializer.
     Dim ser As New DataContractSerializer(GetType(Person))

     ' Other code not shown.    
 End Sub

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

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

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

public:
 DataContractSerializer(Type ^ type, System::Xml::XmlDictionaryString ^ rootName, System::Xml::XmlDictionaryString ^ rootNamespace, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System::Runtime::Serialization::IDataContractSurrogate ^ dataContractSurrogate, System::Runtime::Serialization::DataContractResolver ^ dataContractResolver);
public DataContractSerializer(Type type, System.Xml.XmlDictionaryString rootName, System.Xml.XmlDictionaryString rootNamespace, System.Collections.Generic.IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System.Runtime.Serialization.IDataContractSurrogate dataContractSurrogate, System.Runtime.Serialization.DataContractResolver dataContractResolver);
new System.Runtime.Serialization.DataContractSerializer : Type * System.Xml.XmlDictionaryString * System.Xml.XmlDictionaryString * seq<Type> * int * bool * bool * System.Runtime.Serialization.IDataContractSurrogate * System.Runtime.Serialization.DataContractResolver -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As XmlDictionaryString, rootNamespace As XmlDictionaryString, knownTypes As IEnumerable(Of Type), maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, preserveObjectReferences As Boolean, dataContractSurrogate As IDataContractSurrogate, dataContractResolver As DataContractResolver)

Параметры

type
Type

Тип экземпляров, сериализованных или десериализируемых.

rootName
XmlDictionaryString

XML-элемент, который заключает содержимое для сериализации или десериализации.

rootNamespace
XmlDictionaryString

Пространство имен XML-элемента, которое заключает содержимое для сериализации или десериализации.

knownTypes
IEnumerable<Type>

IEnumerable<T> Объект Type содержит известные типы, которые могут присутствовать в графе объектов.

maxItemsInObjectGraph
Int32

Максимальное количество элементов в графе для сериализации или десериализации.

ignoreExtensionDataObject
Boolean

true , чтобы игнорировать данные, предоставленные расширением типа при сериализации и десериализации; falseв противном случае .

preserveObjectReferences
Boolean

true использование нестандартных конструкций XML для сохранения ссылочных данных объектов; falseв противном случае .

dataContractSurrogate
IDataContractSurrogate

Реализация IDataContractSurrogate процесса сериализации.

dataContractResolver
DataContractResolver

Реализация объявлений для сопоставления DataContractResolver объявлений xsi:type с типами контрактов данных.

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

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

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

public:
 DataContractSerializer(Type ^ type, System::String ^ rootName, System::String ^ rootNamespace, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System::Runtime::Serialization::IDataContractSurrogate ^ dataContractSurrogate, System::Runtime::Serialization::DataContractResolver ^ dataContractResolver);
public DataContractSerializer(Type type, string rootName, string rootNamespace, System.Collections.Generic.IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System.Runtime.Serialization.IDataContractSurrogate dataContractSurrogate, System.Runtime.Serialization.DataContractResolver dataContractResolver);
new System.Runtime.Serialization.DataContractSerializer : Type * string * string * seq<Type> * int * bool * bool * System.Runtime.Serialization.IDataContractSurrogate * System.Runtime.Serialization.DataContractResolver -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As String, rootNamespace As String, knownTypes As IEnumerable(Of Type), maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, preserveObjectReferences As Boolean, dataContractSurrogate As IDataContractSurrogate, dataContractResolver As DataContractResolver)

Параметры

type
Type

Тип экземпляров, сериализованных или десериализируемых.

rootName
String

XML-элемент, который заключает содержимое для сериализации или десериализации.

rootNamespace
String

Пространство имен XML-элемента, которое заключает содержимое для сериализации или десериализации.

knownTypes
IEnumerable<Type>

IEnumerable<T> Объект Type содержит известные типы, которые могут присутствовать в графе объектов.

maxItemsInObjectGraph
Int32

Максимальное количество элементов в графе для сериализации или десериализации.

ignoreExtensionDataObject
Boolean

true , чтобы игнорировать данные, предоставленные расширением типа при сериализации и десериализации; falseв противном случае .

preserveObjectReferences
Boolean

true использование нестандартных конструкций XML для сохранения ссылочных данных объектов; falseв противном случае .

dataContractSurrogate
IDataContractSurrogate

Реализация IDataContractSurrogate процесса сериализации.

dataContractResolver
DataContractResolver

Реализация объявлений для сопоставления DataContractResolver объявлений xsi:type с типами контрактов данных.

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

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

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

public:
 DataContractSerializer(Type ^ type, System::Xml::XmlDictionaryString ^ rootName, System::Xml::XmlDictionaryString ^ rootNamespace, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System::Runtime::Serialization::IDataContractSurrogate ^ dataContractSurrogate);
public DataContractSerializer(Type type, System.Xml.XmlDictionaryString rootName, System.Xml.XmlDictionaryString rootNamespace, System.Collections.Generic.IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System.Runtime.Serialization.IDataContractSurrogate dataContractSurrogate);
new System.Runtime.Serialization.DataContractSerializer : Type * System.Xml.XmlDictionaryString * System.Xml.XmlDictionaryString * seq<Type> * int * bool * bool * System.Runtime.Serialization.IDataContractSurrogate -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As XmlDictionaryString, rootNamespace As XmlDictionaryString, knownTypes As IEnumerable(Of Type), maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, preserveObjectReferences As Boolean, dataContractSurrogate As IDataContractSurrogate)

Параметры

type
Type

Тип экземпляров, сериализованных или десериализируемых.

rootName
XmlDictionaryString

Указывает XmlDictionaryString XML-элемент, который заключает содержимое для сериализации или десериализации.

rootNamespace
XmlDictionaryString

Значение XmlDictionaryString , указывающее пространство имен XML корневого каталога.

knownTypes
IEnumerable<Type>

IEnumerable<T> Содержит Type известные типы, которые могут присутствовать в графе объектов.

maxItemsInObjectGraph
Int32

Максимальное количество элементов в графе для сериализации или десериализации.

ignoreExtensionDataObject
Boolean

true , чтобы игнорировать данные, предоставленные расширением типа при сериализации и десериализации; falseв противном случае .

preserveObjectReferences
Boolean

true использование нестандартных конструкций XML для сохранения ссылочных данных объектов; falseв противном случае .

dataContractSurrogate
IDataContractSurrogate

Реализация IDataContractSurrogate процесса сериализации.

Исключения

Число элементов превышает максимальное значение.

Примеры

В следующем примере создается экземпляр, указывающий DataContractSerializer тип для сериализации или десериализации, корневого XML-элемента и пространства имен (в качестве XmlDictionaryString параметров) и экземпляра, IEnumerable<T> содержащего типы, используемые во время десериализации. Код также задает ignoreExtensionDataObject для и параметров preserveObjectReferencesзначение и true задает реализацию IDataContractSurrogate интерфейса для обработки устаревших типов (типов, которые не DataContractAttribute применяют атрибут). Дополнительные сведения см. в IDataContractSurrogate документации.

public static void Constructor9()
{
    // Create a generic List of types and add the known types
    // to the collection.
    List<Type> knownTypeList = new List<Type>();
    knownTypeList.Add(typeof(PurchaseOrder));
    knownTypeList.Add(typeof(PurchaseOrderV3));

    // Create an XmlDictionary and add values to it.
    XmlDictionary d = new XmlDictionary();
    XmlDictionaryString name_value = d.Add("Customer");
    XmlDictionaryString ns_value = d.Add("http://www.contoso.com");

    // Create an instance of a class that
    // implements the IDataContractSurrogate interface.
    // The implementation code is not shown here.
    DCSurrogate mySurrogate = new DCSurrogate();

    DataContractSerializer ser =
        new DataContractSerializer(
        typeof(Person),
        name_value,
        ns_value,
        knownTypeList,
        64 * 1024,
        true,
        true,
        mySurrogate);

    // Other code not shown.
}
Public Shared Sub Constructor9() 

    ' Create a generic List of types and add the known types
    ' to the collection.
    Dim knownTypeList As New List(Of Type)
    knownTypeList.Add(GetType(PurchaseOrder))
    knownTypeList.Add(GetType(PurchaseOrderV3))
    
    ' Create an XmlDictionary and add values to it.
    Dim d As New XmlDictionary()
    Dim name_value As XmlDictionaryString = d.Add("Customer")
    Dim ns_value As XmlDictionaryString = d.Add("http://www.contoso.com")
    
    ' Create an instance of a class that 
    ' implements the IDataContractSurrogate interface.
    ' The implementation code is not shown here.
    Dim mySurrogate As New DCSurrogate()
    
    Dim ser As New DataContractSerializer(GetType(Person), _
    name_value, _
    ns_value, _
    knownTypeList, _
    64 * 1064, _
    True, _
    True, _
    mySurrogate)

    ' Other code not shown.    

End Sub

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

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

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

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

public:
 DataContractSerializer(Type ^ type, System::String ^ rootName, System::String ^ rootNamespace, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System::Runtime::Serialization::IDataContractSurrogate ^ dataContractSurrogate);
public DataContractSerializer(Type type, string rootName, string rootNamespace, System.Collections.Generic.IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System.Runtime.Serialization.IDataContractSurrogate dataContractSurrogate);
new System.Runtime.Serialization.DataContractSerializer : Type * string * string * seq<Type> * int * bool * bool * System.Runtime.Serialization.IDataContractSurrogate -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As String, rootNamespace As String, knownTypes As IEnumerable(Of Type), maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, preserveObjectReferences As Boolean, dataContractSurrogate As IDataContractSurrogate)

Параметры

type
Type

Тип экземпляров, сериализованных или десериализируемых.

rootName
String

XML-элемент, который заключает содержимое для сериализации или десериализации.

rootNamespace
String

Пространство имен XML-элемента, которое заключает содержимое для сериализации или десериализации.

knownTypes
IEnumerable<Type>

IEnumerable<T> Объект Type содержит известные типы, которые могут присутствовать в графе объектов.

maxItemsInObjectGraph
Int32

Максимальное количество элементов в графе для сериализации или десериализации.

ignoreExtensionDataObject
Boolean

true , чтобы игнорировать данные, предоставленные расширением типа при сериализации и десериализации; falseв противном случае .

preserveObjectReferences
Boolean

true использование нестандартных конструкций XML для сохранения ссылочных данных объектов; falseв противном случае .

dataContractSurrogate
IDataContractSurrogate

Реализация IDataContractSurrogate процесса сериализации.

Исключения

Число элементов превышает максимальное значение.

Примеры

В следующем примере создается экземпляр, указывающий DataContractSerializer тип для сериализации или десериализации, корневого XML-элемента и пространства имен, а также экземпляра IEnumerable<T> , содержащего типы, используемые во время десериализации. Код также задает ignoreExtensionDataObject для и параметров preserveObjectReferencesзначение и true задает реализацию IDataContractSurrogate интерфейса для обработки устаревших типов (типов, которые не DataContractAttribute применяют атрибут). Дополнительные сведения см. в IDataContractSurrogate документации.

public static void Constructor8()
{
    // Create a generic List of types and add the known types
    // to the collection.
    List<Type> knownTypeList = new List<Type>();
    knownTypeList.Add(typeof(PurchaseOrder));
    knownTypeList.Add(typeof(PurchaseOrderV3));

    // Create an instance of a class that
    // implements the IDataContractSurrogate interface.
    // The implementation code is not shown here.
    DCSurrogate mySurrogate = new DCSurrogate();

    DataContractSerializer ser =
        new DataContractSerializer(
        typeof(Person),
        "Customer",
        @"http://www.contoso.com",
        knownTypeList,
        64 * 1024,
        true,
        true,
        mySurrogate);

    // Other code not shown.
}
Public Shared Sub Constructor8() 

    ' Create a generic List of types and add the known types
    ' to the collection.
    Dim knownTypeList As New List(Of Type)
    knownTypeList.Add(GetType(PurchaseOrder))
    knownTypeList.Add(GetType(PurchaseOrderV3))

    ' Create an instance of a class that 
    ' implements the IDataContractSurrogate interface.
    ' The implementation code is not shown here.
    Dim mySurrogate As New DCSurrogate()

    Dim ser As New DataContractSerializer(GetType(Person), _
    "Customer", _
    "http://www.contoso.com", _
    knownTypeList, _
    64 * 1064, _
    True, _
    True, _
    mySurrogate)

    ' Other code not shown.
End Sub

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

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

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

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

public:
 DataContractSerializer(Type ^ type, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System::Runtime::Serialization::IDataContractSurrogate ^ dataContractSurrogate);
public DataContractSerializer(Type type, System.Collections.Generic.IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System.Runtime.Serialization.IDataContractSurrogate dataContractSurrogate);
new System.Runtime.Serialization.DataContractSerializer : Type * seq<Type> * int * bool * bool * System.Runtime.Serialization.IDataContractSurrogate -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, knownTypes As IEnumerable(Of Type), maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, preserveObjectReferences As Boolean, dataContractSurrogate As IDataContractSurrogate)

Параметры

type
Type

Тип экземпляров, сериализованных или десериализируемых.

knownTypes
IEnumerable<Type>

IEnumerable<T> Объект Type содержит известные типы, которые могут присутствовать в графе объектов.

maxItemsInObjectGraph
Int32

Максимальное количество элементов в графе для сериализации или десериализации. Значение по умолчанию возвращается свойством Int32.MaxValue .

ignoreExtensionDataObject
Boolean

true , чтобы игнорировать данные, предоставленные расширением типа при сериализации и десериализации; falseв противном случае .

preserveObjectReferences
Boolean

true использование нестандартных конструкций XML для сохранения ссылочных данных объектов; falseв противном случае .

dataContractSurrogate
IDataContractSurrogate

Реализация IDataContractSurrogate процесса сериализации.

Исключения

Число элементов превышает максимальное значение.

Примеры

В следующем примере создается экземпляр, указывающий DataContractSerializer тип для сериализации или десериализации и экземпляра, IEnumerable<T> содержащего известные типы, используемые во время сериализации или десериализации. Код также задает ignoreExtensionDataObject для и параметров preserveObjectReferencesзначение и true задает реализацию IDataContractSurrogate интерфейса для обработки устаревших типов (типов, которые не DataContractAttribute применяют атрибут). Дополнительные сведения см. в IDataContractSurrogate документации.

public static void Constructor7()
{
    // Create a generic List of types and add the known types
    // to the collection.
    List<Type> knownTypeList = new List<Type>();
    knownTypeList.Add(typeof(PurchaseOrder));
    knownTypeList.Add(typeof(PurchaseOrderV3));

    // Create an instance of a class that
    // implements the IDataContractSurrogate interface.
    // The implementation code is not shown here.
    DCSurrogate mySurrogate = new DCSurrogate();

    DataContractSerializer ser =
        new DataContractSerializer(
        typeof(Person),
        knownTypeList,
        64 * 1024,
        true,
        true,
        mySurrogate);
    // Other code not shown.
}
Public Shared Sub Constructor7() 

    ' Create a generic List of types and add the known types
    ' to the collection.
    Dim knownTypeList As New List(Of Type)
    knownTypeList.Add(GetType(PurchaseOrder))
    knownTypeList.Add(GetType(PurchaseOrderV3))

    ' Create an instance of a class that 
    ' implements the IDataContractSurrogate interface.
    ' The implementation code is not shown here.
    Dim mySurrogate As New DCSurrogate()

    Dim ser As New DataContractSerializer(GetType(Person), _
    knownTypeList, _
    64 * 1064, _
    True, _
    True, _
     mySurrogate)

    ' Other code not shown.
End Sub

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

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

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

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

public:
 DataContractSerializer(Type ^ type, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System::Runtime::Serialization::IDataContractSurrogate ^ dataContractSurrogate, System::Runtime::Serialization::DataContractResolver ^ dataContractResolver);
public DataContractSerializer(Type type, System.Collections.Generic.IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, System.Runtime.Serialization.IDataContractSurrogate dataContractSurrogate, System.Runtime.Serialization.DataContractResolver dataContractResolver);
new System.Runtime.Serialization.DataContractSerializer : Type * seq<Type> * int * bool * bool * System.Runtime.Serialization.IDataContractSurrogate * System.Runtime.Serialization.DataContractResolver -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, knownTypes As IEnumerable(Of Type), maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, preserveObjectReferences As Boolean, dataContractSurrogate As IDataContractSurrogate, dataContractResolver As DataContractResolver)

Параметры

type
Type

Тип экземпляров, сериализованных или десериализируемых.

knownTypes
IEnumerable<Type>

IEnumerable<T> Объект Type содержит известные типы, которые могут присутствовать в графе объектов.

maxItemsInObjectGraph
Int32

Максимальное количество элементов в графе для сериализации или десериализации. Значение по умолчанию возвращается свойством Int32.MaxValue .

ignoreExtensionDataObject
Boolean

true , чтобы игнорировать данные, предоставленные расширением типа при сериализации и десериализации; falseв противном случае .

preserveObjectReferences
Boolean

true использование нестандартных конструкций XML для сохранения ссылочных данных объектов; falseв противном случае .

dataContractSurrogate
IDataContractSurrogate

Реализация IDataContractSurrogate процесса сериализации.

dataContractResolver
DataContractResolver

Реализация объявлений для сопоставления DataContractResolver объявлений xsi:type с типами контрактов данных.

Комментарии

Предупреждение

Этот метод недоступен в приложениях Магазина Windows.

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

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

Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs

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

public:
 DataContractSerializer(Type ^ type, System::String ^ rootName, System::String ^ rootNamespace, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes);
public DataContractSerializer(Type type, string rootName, string rootNamespace, System.Collections.Generic.IEnumerable<Type> knownTypes);
public DataContractSerializer(Type type, string rootName, string rootNamespace, System.Collections.Generic.IEnumerable<Type>? knownTypes);
new System.Runtime.Serialization.DataContractSerializer : Type * string * string * seq<Type> -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As String, rootNamespace As String, knownTypes As IEnumerable(Of Type))

Параметры

type
Type

Тип экземпляров, сериализованных или десериализируемых.

rootName
String

Имя корневого элемента содержимого.

rootNamespace
String

Пространство имен корневого элемента.

knownTypes
IEnumerable<Type>

IEnumerable<T> Содержит Type типы, которые могут присутствовать в графе объектов.

Примеры

В следующем примере создается экземпляр, указывающий DataContractSerializer тип для сериализации или десериализации, а также xml-имени и пространства имен для чтения из XML-документа или записи. Код также создает экземпляр объекта, IEnumerable<T> который содержит известные типы, используемые во время сериализации или десериализации.

public static void Constructor5()
{
    // Create a generic List of types and add the known types
    // to the collection.
    List<Type> knownTypeList = new List<Type>();
    knownTypeList.Add(typeof(PurchaseOrder));
    knownTypeList.Add(typeof(PurchaseOrderV3));

    DataContractSerializer ser =
        new DataContractSerializer(
        typeof(Person),
        "Customer",
        @"http://www.contoso.com",
        knownTypeList);

    // Other code not shown.
}
Public Shared Sub Constructor5() 

    ' Create a generic List of types and add the known types
    ' to the collection.
    Dim knownTypeList As New List(Of Type)
    knownTypeList.Add(GetType(PurchaseOrder))
    knownTypeList.Add(GetType(PurchaseOrderV3))
    
    Dim ser As New DataContractSerializer(GetType(Person), _
    "Customer", _
    "http://www.contoso.com", _
    knownTypeList)

    ' Other code not shown.

End Sub

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

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

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)

Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs

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

public:
 DataContractSerializer(Type ^ type, System::Xml::XmlDictionaryString ^ rootName, System::Xml::XmlDictionaryString ^ rootNamespace);
public DataContractSerializer(Type type, System.Xml.XmlDictionaryString rootName, System.Xml.XmlDictionaryString rootNamespace);
new System.Runtime.Serialization.DataContractSerializer : Type * System.Xml.XmlDictionaryString * System.Xml.XmlDictionaryString -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As XmlDictionaryString, rootNamespace As XmlDictionaryString)

Параметры

type
Type

Тип экземпляров, сериализованных или десериализируемых.

rootName
XmlDictionaryString

Объект XmlDictionaryString , содержащий имя корневого элемента содержимого.

rootNamespace
XmlDictionaryString

Объект, XmlDictionaryString содержащий пространство имен корневого элемента.

Примеры

В следующем примере создается экземпляр, указывающий DataContractSerializer тип для сериализации или десериализации, а также xml-имени и пространства имен (в виде XmlDictionaryString объектов) для чтения или записи в XML-документ.

public static void Constructor4()
{
    // Create an instance of the DataContractSerializer
    // specifying the type, and name and
    // namespace as XmlDictionaryString objects.

    // Create an XmlDictionary and add values to it.
    XmlDictionary d = new XmlDictionary();
    XmlDictionaryString name_value = d.Add("Customer");
    XmlDictionaryString ns_value = d.Add("http://www.contoso.com");

    // Create the serializer.
    DataContractSerializer ser =
        new DataContractSerializer(
        typeof(Person),
        name_value,
        ns_value);
    // Other code not shown.
}
Public Shared Sub Constructor4() 
    ' Create an instance of the DataContractSerializer
    ' specifying the type, and name and 
    ' namespace as XmlDictionaryString objects.
    ' Create an XmlDictionary and add values to it.
    Dim d As New XmlDictionary()
    Dim name_value As XmlDictionaryString = d.Add("Customer")
    Dim ns_value As XmlDictionaryString = d.Add("http://www.contoso.com")
    
    ' Create the serializer.
    Dim ser As New DataContractSerializer(GetType(Person), _
    name_value, _
    ns_value)

    ' Other code not shown.
End Sub

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

DataContractSerializer(Type, String, String)

Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs

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

public:
 DataContractSerializer(Type ^ type, System::String ^ rootName, System::String ^ rootNamespace);
public DataContractSerializer(Type type, string rootName, string rootNamespace);
new System.Runtime.Serialization.DataContractSerializer : Type * string * string -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As String, rootNamespace As String)

Параметры

type
Type

Тип экземпляров, сериализованных или десериализируемых.

rootName
String

Имя XML-элемента, включающего содержимое для сериализации или десериализации.

rootNamespace
String

Пространство имен XML-элемента, которое заключает содержимое для сериализации или десериализации.

Примеры

В следующем примере создается экземпляр, указывающий DataContractSerializer тип для сериализации или десериализации, а также xml-имени и пространства имен для чтения из XML-документа или записи.

public static void Constructor3()
{
    // Create an instance of the DataContractSerializer
    // specifying the type, and name and
    // namespace as strings.
    DataContractSerializer ser =
        new DataContractSerializer(
        typeof(Person),
        "Customer",
        "http://www.contoso.com");

    // Other code not shown.
}
Public Shared Sub Constructor3() 
    ' Create an instance of the DataContractSerializer
    ' specifying the type, and name and 
    ' namespace as strings.
    Dim ser As New DataContractSerializer(GetType(Person), _
    "Customer", _
    "http://www.contoso.com")

    ' Other code not shown.
End Sub

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

DataContractSerializer(Type, DataContractSerializerSettings)

Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs

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

public:
 DataContractSerializer(Type ^ type, System::Runtime::Serialization::DataContractSerializerSettings ^ settings);
public DataContractSerializer(Type type, System.Runtime.Serialization.DataContractSerializerSettings settings);
public DataContractSerializer(Type type, System.Runtime.Serialization.DataContractSerializerSettings? settings);
new System.Runtime.Serialization.DataContractSerializer : Type * System.Runtime.Serialization.DataContractSerializerSettings -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, settings As DataContractSerializerSettings)

Параметры

type
Type

Тип экземпляра для сериализации или десериализации.

settings
DataContractSerializerSettings

Параметры сериализатора.

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

DataContractSerializer(Type, IEnumerable<Type>)

Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs

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

public:
 DataContractSerializer(Type ^ type, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes);
public DataContractSerializer(Type type, System.Collections.Generic.IEnumerable<Type> knownTypes);
public DataContractSerializer(Type type, System.Collections.Generic.IEnumerable<Type>? knownTypes);
new System.Runtime.Serialization.DataContractSerializer : Type * seq<Type> -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, knownTypes As IEnumerable(Of Type))

Параметры

type
Type

Тип экземпляров, сериализованных или десериализируемых.

knownTypes
IEnumerable<Type>

IEnumerable<T> Содержит Type типы, которые могут присутствовать в графе объектов.

Примеры

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

public static void Constructor2()
{
    // Create a generic List of types and add the known types
    // to the collection.
    List<Type> knownTypeList = new List<Type>();
    knownTypeList.Add(typeof(PurchaseOrder));
    knownTypeList.Add(typeof(PurchaseOrderV3));

    // Create a DatatContractSerializer with the collection.
    DataContractSerializer ser2 = new DataContractSerializer(
        typeof(Orders), knownTypeList);

    // Other code not shown.
}
 Public Shared Sub Constructor2() 

     ' Create a generic List of types and add the known types
     ' to the collection.
     Dim knownTypeList As New List(Of Type)
     knownTypeList.Add(GetType(PurchaseOrder))
     knownTypeList.Add(GetType(PurchaseOrderV3))
     
     ' Create a DatatContractSerializer with the collection.
     Dim ser2 As New DataContractSerializer(GetType(Orders), knownTypeList)

     ' Other code not shown.
End Sub

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

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

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

Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs

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

public:
 DataContractSerializer(Type ^ type, System::Xml::XmlDictionaryString ^ rootName, System::Xml::XmlDictionaryString ^ rootNamespace, System::Collections::Generic::IEnumerable<Type ^> ^ knownTypes);
public DataContractSerializer(Type type, System.Xml.XmlDictionaryString rootName, System.Xml.XmlDictionaryString rootNamespace, System.Collections.Generic.IEnumerable<Type> knownTypes);
public DataContractSerializer(Type type, System.Xml.XmlDictionaryString rootName, System.Xml.XmlDictionaryString rootNamespace, System.Collections.Generic.IEnumerable<Type>? knownTypes);
new System.Runtime.Serialization.DataContractSerializer : Type * System.Xml.XmlDictionaryString * System.Xml.XmlDictionaryString * seq<Type> -> System.Runtime.Serialization.DataContractSerializer
Public Sub New (type As Type, rootName As XmlDictionaryString, rootNamespace As XmlDictionaryString, knownTypes As IEnumerable(Of Type))

Параметры

type
Type

Тип экземпляров, сериализованных или десериализируемых.

rootName
XmlDictionaryString

Объект XmlDictionaryString , содержащий имя корневого элемента содержимого.

rootNamespace
XmlDictionaryString

Объект, XmlDictionaryString содержащий пространство имен корневого элемента.

knownTypes
IEnumerable<Type>

IEnumerable<T> Содержит Type известные типы, которые могут присутствовать в графе объектов.

Примеры

В следующем примере создается экземпляр, указывающий DataContractSerializer тип для сериализации или десериализации, а также xml-имени и пространства имен (в виде XmlDictionaryString объектов) для чтения или записи в XML-документ. Код также создает экземпляр объекта, IEnumerable<T> который содержит известные типы, используемые во время сериализации или десериализации.

public static void Constructor6()
{
    // Create a generic List of types and add the known types
    // to the collection.
    List<Type> knownTypeList = new List<Type>();
    knownTypeList.Add(typeof(PurchaseOrder));
    knownTypeList.Add(typeof(PurchaseOrderV3));

    // Create an XmlDictionary and add values to it.
    XmlDictionary d = new XmlDictionary();
    XmlDictionaryString name_value = d.Add("Customer");
    XmlDictionaryString ns_value = d.Add("http://www.contoso.com");

    DataContractSerializer ser =
        new DataContractSerializer(
        typeof(Person),
        name_value,
        ns_value,
        knownTypeList);

    // Other code not shown.
}
Public Shared Sub Constructor6() 
    ' Create a generic List of types and add the known types
    ' to the collection.
    Dim knownTypeList As New List(Of Type)
    knownTypeList.Add(GetType(PurchaseOrder))
    knownTypeList.Add(GetType(PurchaseOrderV3))

    ' Create an XmlDictionary and add values to it.
    Dim d As New XmlDictionary()
    Dim name_value As XmlDictionaryString = d.Add("Customer")
    Dim ns_value As XmlDictionaryString = d.Add("http://www.contoso.com")
    
    Dim ser As New DataContractSerializer(GetType(Person), _
    name_value, _
    ns_value, _
    knownTypeList)

    ' Other code not shown.
 End Sub

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

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