Freigeben über


DataContractSerializer Konstruktoren

Definition

Initialisiert eine neue Instanz der DataContractSerializer-Klasse.

Überlädt

DataContractSerializer(Type)

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren.

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

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Diese Methode nennt zudem eine Liste bekannter Typen, die ggf. im Objektdiagramm enthalten sind, sowie die maximale Anzahl von zu serialisierenden Diagrammelementen und Parameter zum Ignorieren nicht erwarteter Daten. Weiterhin kennzeichnet sie, ob nicht standardmäßige XML-Konstrukte verwendet werden, um Objektverweisdaten im Diagramm beizubehalten, und ob ein Ersatzzeichen für eine benutzerdefinierte Serialisierung verwendet wird. Parameter von XmlDictionaryString, die das XML-Element und den XML-Namespace mit dem Inhalt angeben, sind ebenfalls angegeben. Die Methode enthält außerdem eine Alternative zur Zuordnung von xsi:type-Deklarationen zur Laufzeit.

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

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Diese Methode nennt zudem eine Liste bekannter Typen, die ggf. im Objektdiagramm enthalten sind, sowie die maximale Anzahl von zu serialisierenden Diagrammelementen und Parameter zum Ignorieren nicht erwarteter Daten. Weiterhin kennzeichnet sie, ob nicht standardmäßige XML-Konstrukte verwendet werden, um Objektverweisdaten im Diagramm beizubehalten, und ob ein Ersatzzeichen für eine benutzerdefinierte Serialisierung verwendet wird. Das XML-Element und der XML-Namespace mit dem Inhalt sind ebenfalls angegeben. Die Methode enthält außerdem eine Alternative zur Zuordnung von xsi:type-Deklarationen zur Laufzeit.

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

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Diese Methode nennt zudem eine Liste bekannter Typen, die ggf. im Objektdiagramm enthalten sind, sowie die maximale Anzahl von zu serialisierenden Diagrammelementen und Parameter zum Ignorieren nicht erwarteter Daten. Weiterhin kennzeichnet sie, ob nicht standardmäßige XML-Konstrukte verwendet werden, um Objektverweisdaten im Diagramm beizubehalten, und ob ein Ersatzzeichen für eine benutzerdefinierte Serialisierung verwendet wird. Sie enthält außerdem Parameter des Typs XmlDictionaryString, die das XML-Element und den Namespace angeben, die den Inhalt enthalten.

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

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Diese Methode nennt zudem eine Liste bekannter Typen, die ggf. im Objektdiagramm enthalten sind, sowie die maximale Anzahl von zu serialisierenden Diagrammelementen und Parameter zum Ignorieren nicht erwarteter Daten. Weiterhin kennzeichnet sie, ob nicht standardmäßige XML-Konstrukte verwendet werden, um Objektverweisdaten im Diagramm beizubehalten, und ob ein Ersatzzeichen für eine benutzerdefinierte Serialisierung verwendet wird. Sie enthält außerdem das XML-Element und den Namespace, die den Inhalt enthalten.

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

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Diese Methode nennt zudem eine Liste bekannter Typen, die ggf. im Objektdiagramm enthalten sind, sowie die maximale Anzahl von zu serialisierenden Diagrammelementen und Parameter zum Ignorieren nicht erwarteter Daten. Weiterhin kennzeichnet sie, ob nicht standardmäßige XML-Konstrukte verwendet werden, um Objektverweisdaten im Diagramm beizubehalten, und ob ein Ersatzzeichen für eine benutzerdefinierte Serialisierung verwendet wird.

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

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Diese Methode nennt zudem eine Liste bekannter Typen, die ggf. im Objektdiagramm enthalten sind, sowie die maximale Anzahl von zu serialisierenden Diagrammelementen und Parameter zum Ignorieren nicht erwarteter Daten. Weiterhin kennzeichnet sie, ob nicht standardmäßige XML-Konstrukte verwendet werden, um Objektverweisdaten im Diagramm beizubehalten, und ob ein Ersatzzeichen für eine benutzerdefinierte Serialisierung verwendet wird. Sie enthält außerdem eine Alternative zur Zuordnung von xsi:type-Deklarationen zur Laufzeit.

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

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Darüber hinaus gibt diese Methode das XML-Stammelement und den Namespace in zwei Zeichenfolgenparametern sowie eine Liste bekannter Typen, die in dem Objektdiagramm ggf. enthalten sind, an.

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs mithilfe des XML-Stammelements und -Namespaces zu serialisieren bzw. zu deserialisieren, das/der durch die Parameter des Typs XmlDictionaryString angegeben wird.

DataContractSerializer(Type, String, String)

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs mithilfe des bereitgestellten XML-Stammelements und -Namespace zu serialisieren bzw. zu deserialisieren.

DataContractSerializer(Type, DataContractSerializerSettings)

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs und Einstellungen zu serialisieren bzw. zu deserialisieren.

DataContractSerializer(Type, IEnumerable<Type>)

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs sowie eine Auflistung bekannter Typen, die im Objektdiagramm vorhanden sind, zu serialisieren bzw. zu deserialisieren.

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

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Darüber hinaus gibt diese Methode das XML-Stammelement und den Namespace in zwei XmlDictionaryString-Parametern sowie eine Liste bekannter Typen, die in dem Objektdiagramm ggf. enthalten sind, an.

DataContractSerializer(Type)

Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren.

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

Parameter

type
Type

Der Typ der Instanzen, die serialisiert oder deserialisiert werden.

Beispiele

In dem folgenden Beispiel wird eine Instanz des DataContractSerializer-Objekts erstellt, das den zu serialisierenden bzw. zu deserialisierenden Typ angibt.

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

Gilt für:

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

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Diese Methode nennt zudem eine Liste bekannter Typen, die ggf. im Objektdiagramm enthalten sind, sowie die maximale Anzahl von zu serialisierenden Diagrammelementen und Parameter zum Ignorieren nicht erwarteter Daten. Weiterhin kennzeichnet sie, ob nicht standardmäßige XML-Konstrukte verwendet werden, um Objektverweisdaten im Diagramm beizubehalten, und ob ein Ersatzzeichen für eine benutzerdefinierte Serialisierung verwendet wird. Parameter von XmlDictionaryString, die das XML-Element und den XML-Namespace mit dem Inhalt angeben, sind ebenfalls angegeben. Die Methode enthält außerdem eine Alternative zur Zuordnung von xsi:type-Deklarationen zur Laufzeit.

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)

Parameter

type
Type

Der Typ der Instanzen, die serialisiert oder deserialisiert werden.

rootName
XmlDictionaryString

Das XML-Element, das den zu serialisierenden bzw. zu deserialisierenden Inhalt enthält.

rootNamespace
XmlDictionaryString

Der Namespace des XML-Elements, das den zu serialisierenden bzw. zu deserialisierenden Inhalt enthält.

knownTypes
IEnumerable<Type>

Ein IEnumerable<T>-Objekt des Typs Type, das die in dem Objektdiagramm enthaltenen bekannten Typen angibt (falls vorhanden).

maxItemsInObjectGraph
Int32

Die maximale Anzahl von Elementen im Diagramm, die serialisiert oder deserialisiert werden soll.

ignoreExtensionDataObject
Boolean

true, um die von einer Erweiterung des Typs angegebenen Daten bei der Serialisierung und Deserialisierung zu ignorieren, andernfalls false.

preserveObjectReferences
Boolean

true, um zum Beibehalten der Objektverweisdaten nicht standardmäßige XML-Konstrukte zu verwenden, andernfalls false.

dataContractSurrogate
IDataContractSurrogate

Eine Implementierung des IDataContractSurrogate, um den Serialisierungsprozess anzupassen.

dataContractResolver
DataContractResolver

Eine Implementierung des DataContractResolver, um Datenvertragstypen xsi:type-Deklarationen zuzuordnen.

Gilt für:

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

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Diese Methode nennt zudem eine Liste bekannter Typen, die ggf. im Objektdiagramm enthalten sind, sowie die maximale Anzahl von zu serialisierenden Diagrammelementen und Parameter zum Ignorieren nicht erwarteter Daten. Weiterhin kennzeichnet sie, ob nicht standardmäßige XML-Konstrukte verwendet werden, um Objektverweisdaten im Diagramm beizubehalten, und ob ein Ersatzzeichen für eine benutzerdefinierte Serialisierung verwendet wird. Das XML-Element und der XML-Namespace mit dem Inhalt sind ebenfalls angegeben. Die Methode enthält außerdem eine Alternative zur Zuordnung von xsi:type-Deklarationen zur Laufzeit.

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)

Parameter

type
Type

Der Typ der Instanzen, die serialisiert oder deserialisiert werden.

rootName
String

Das XML-Element, das den zu serialisierenden bzw. zu deserialisierenden Inhalt enthält.

rootNamespace
String

Der Namespace des XML-Elements, das den zu serialisierenden bzw. zu deserialisierenden Inhalt enthält.

knownTypes
IEnumerable<Type>

Ein IEnumerable<T>-Objekt des Typs Type, das die in dem Objektdiagramm enthaltenen bekannten Typen angibt (falls vorhanden).

maxItemsInObjectGraph
Int32

Die maximale Anzahl von Elementen im Diagramm, die serialisiert oder deserialisiert werden soll.

ignoreExtensionDataObject
Boolean

true, um die von einer Erweiterung des Typs angegebenen Daten bei der Serialisierung und Deserialisierung zu ignorieren, andernfalls false.

preserveObjectReferences
Boolean

true, um zum Beibehalten der Objektverweisdaten nicht standardmäßige XML-Konstrukte zu verwenden, andernfalls false.

dataContractSurrogate
IDataContractSurrogate

Eine Implementierung des IDataContractSurrogate, um den Serialisierungsprozess anzupassen.

dataContractResolver
DataContractResolver

Eine Implementierung des DataContractResolver, um Datenvertragstypen xsi:type-Deklarationen zuzuordnen.

Gilt für:

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

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Diese Methode nennt zudem eine Liste bekannter Typen, die ggf. im Objektdiagramm enthalten sind, sowie die maximale Anzahl von zu serialisierenden Diagrammelementen und Parameter zum Ignorieren nicht erwarteter Daten. Weiterhin kennzeichnet sie, ob nicht standardmäßige XML-Konstrukte verwendet werden, um Objektverweisdaten im Diagramm beizubehalten, und ob ein Ersatzzeichen für eine benutzerdefinierte Serialisierung verwendet wird. Sie enthält außerdem Parameter des Typs XmlDictionaryString, die das XML-Element und den Namespace angeben, die den Inhalt enthalten.

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)

Parameter

type
Type

Der Typ der Instanzen, die serialisiert oder deserialisiert werden.

rootName
XmlDictionaryString

Das XmlDictionaryString-Objekt, das das XML-Element angibt, das den zu serialisierenden bzw. zu deserialisierenden Inhalt enthält.

rootNamespace
XmlDictionaryString

Die XmlDictionaryString, die den XML-Namespace des Stammelements angibt.

knownTypes
IEnumerable<Type>

Ein IEnumerable<T>-Objekt des Typs Type, das die im Objektdiagramm enthaltenen bekannten Typen angibt (falls vorhanden).

maxItemsInObjectGraph
Int32

Die maximale Anzahl von Elementen im Diagramm, die serialisiert oder deserialisiert werden soll.

ignoreExtensionDataObject
Boolean

true, um die von einer Erweiterung des Typs angegebenen Daten bei der Serialisierung und Deserialisierung zu ignorieren, andernfalls false.

preserveObjectReferences
Boolean

true, um zum Beibehalten der Objektverweisdaten nicht standardmäßige XML-Konstrukte zu verwenden, andernfalls false.

dataContractSurrogate
IDataContractSurrogate

Eine Implementierung des IDataContractSurrogate, um den Serialisierungsprozess anzupassen.

Ausnahmen

Die Anzahl der Elemente ist größer als der Maximalwert.

Beispiele

Im folgenden Beispiel werden eine DataContractSerializer-Instanz, die den zu serialisierenden bzw. zu deserialisierenden Typ angibt, das XML-Stammelement und der Namespace (als XmlDictionaryString-Parameter) sowie eine IEnumerable<T>-Instanz erstellt, die die bei der Deserialisierung verwendeten Typen enthält. Der Code legt auch die ignoreExtensionDataObject Parameter und preserveObjectReferences auf truefest und gibt eine Implementierung der Schnittstelle an, um IDataContractSurrogate Legacytypen (Typen, für die das DataContractAttribute Attribut nicht angewendet wurde) zu verarbeiten. Weitere Informationen finden Sie in der Dokumentation zu 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

Weitere Informationen

Gilt für:

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

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Diese Methode nennt zudem eine Liste bekannter Typen, die ggf. im Objektdiagramm enthalten sind, sowie die maximale Anzahl von zu serialisierenden Diagrammelementen und Parameter zum Ignorieren nicht erwarteter Daten. Weiterhin kennzeichnet sie, ob nicht standardmäßige XML-Konstrukte verwendet werden, um Objektverweisdaten im Diagramm beizubehalten, und ob ein Ersatzzeichen für eine benutzerdefinierte Serialisierung verwendet wird. Sie enthält außerdem das XML-Element und den Namespace, die den Inhalt enthalten.

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)

Parameter

type
Type

Der Typ der Instanzen, die serialisiert oder deserialisiert werden.

rootName
String

Das XML-Element, das den zu serialisierenden bzw. zu deserialisierenden Inhalt enthält.

rootNamespace
String

Der Namespace des XML-Elements, das den zu serialisierenden bzw. zu deserialisierenden Inhalt enthält.

knownTypes
IEnumerable<Type>

Ein IEnumerable<T>-Objekt des Typs Type, das die in dem Objektdiagramm enthaltenen bekannten Typen angibt (falls vorhanden).

maxItemsInObjectGraph
Int32

Die maximale Anzahl von Elementen im Diagramm, die serialisiert oder deserialisiert werden soll.

ignoreExtensionDataObject
Boolean

true, um die von einer Erweiterung des Typs angegebenen Daten bei der Serialisierung und Deserialisierung zu ignorieren, andernfalls false.

preserveObjectReferences
Boolean

true, um zum Beibehalten der Objektverweisdaten nicht standardmäßige XML-Konstrukte zu verwenden, andernfalls false.

dataContractSurrogate
IDataContractSurrogate

Eine Implementierung des IDataContractSurrogate, um den Serialisierungsprozess anzupassen.

Ausnahmen

Die Anzahl der Elemente ist größer als der Maximalwert.

Beispiele

Im folgenden Beispiel werden eine DataContractSerializer-Instanz, die den zu serialisierenden bzw. zu deserialisierenden Typ angibt, das XML-Stammelement und der Namespace sowie eine IEnumerable<T>-Instanz, die die bei der Deserialisierung verwendeten bekannten Typen enthält, erstellt. Der Code legt auch die ignoreExtensionDataObject Parameter und preserveObjectReferences auf truefest und gibt eine Implementierung der Schnittstelle an, um IDataContractSurrogate Legacytypen (Typen, für die das DataContractAttribute Attribut nicht angewendet wurde) zu verarbeiten. Weitere Informationen finden Sie in der Dokumentation zu 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

Weitere Informationen

Gilt für:

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

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Diese Methode nennt zudem eine Liste bekannter Typen, die ggf. im Objektdiagramm enthalten sind, sowie die maximale Anzahl von zu serialisierenden Diagrammelementen und Parameter zum Ignorieren nicht erwarteter Daten. Weiterhin kennzeichnet sie, ob nicht standardmäßige XML-Konstrukte verwendet werden, um Objektverweisdaten im Diagramm beizubehalten, und ob ein Ersatzzeichen für eine benutzerdefinierte Serialisierung verwendet wird.

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)

Parameter

type
Type

Der Typ der Instanzen, die serialisiert oder deserialisiert werden.

knownTypes
IEnumerable<Type>

Ein IEnumerable<T>-Objekt des Typs Type, das die in dem Objektdiagramm enthaltenen bekannten Typen angibt (falls vorhanden).

maxItemsInObjectGraph
Int32

Die maximale Anzahl von Elementen im Diagramm, die serialisiert oder deserialisiert werden soll. Der Standardwert ist der Wert, der von der Int32.MaxValue-Eigenschaft zurückgegeben wird.

ignoreExtensionDataObject
Boolean

true, um die von einer Erweiterung des Typs angegebenen Daten bei der Serialisierung und Deserialisierung zu ignorieren, andernfalls false.

preserveObjectReferences
Boolean

true, um zum Beibehalten der Objektverweisdaten nicht standardmäßige XML-Konstrukte zu verwenden, andernfalls false.

dataContractSurrogate
IDataContractSurrogate

Eine Implementierung des IDataContractSurrogate, um den Serialisierungsprozess anzupassen.

Ausnahmen

Die Anzahl der Elemente ist größer als der Maximalwert.

Beispiele

In dem folgenden Beispiel werden eine DataContractSerializer-Instanz, die den zu serialisierenden bzw. zu deserialisierenden Typ angibt, sowie eine IEnumerable<T>-Instanz, die die bei der Serialisierung oder Deserialisierung verwendeten bekannten Typen enthält, erstellt. Der Code legt auch die ignoreExtensionDataObject Parameter und preserveObjectReferences auf truefest und gibt eine Implementierung der Schnittstelle an, um IDataContractSurrogate Legacytypen (Typen, für die das DataContractAttribute Attribut nicht angewendet wurde) zu verarbeiten. Weitere Informationen finden Sie in der Dokumentation zu 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

Weitere Informationen

Gilt für:

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

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Diese Methode nennt zudem eine Liste bekannter Typen, die ggf. im Objektdiagramm enthalten sind, sowie die maximale Anzahl von zu serialisierenden Diagrammelementen und Parameter zum Ignorieren nicht erwarteter Daten. Weiterhin kennzeichnet sie, ob nicht standardmäßige XML-Konstrukte verwendet werden, um Objektverweisdaten im Diagramm beizubehalten, und ob ein Ersatzzeichen für eine benutzerdefinierte Serialisierung verwendet wird. Sie enthält außerdem eine Alternative zur Zuordnung von xsi:type-Deklarationen zur Laufzeit.

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)

Parameter

type
Type

Der Typ der Instanzen, die serialisiert oder deserialisiert werden.

knownTypes
IEnumerable<Type>

Ein IEnumerable<T>-Objekt des Typs Type, das die in dem Objektdiagramm enthaltenen bekannten Typen angibt (falls vorhanden).

maxItemsInObjectGraph
Int32

Die maximale Anzahl von Elementen im Diagramm, die serialisiert oder deserialisiert werden soll. Der Standardwert ist der Wert, der von der Int32.MaxValue-Eigenschaft zurückgegeben wird.

ignoreExtensionDataObject
Boolean

true, um die von einer Erweiterung des Typs angegebenen Daten bei der Serialisierung und Deserialisierung zu ignorieren, andernfalls false.

preserveObjectReferences
Boolean

true, um zum Beibehalten der Objektverweisdaten nicht standardmäßige XML-Konstrukte zu verwenden, andernfalls false.

dataContractSurrogate
IDataContractSurrogate

Eine Implementierung des IDataContractSurrogate, um den Serialisierungsprozess anzupassen.

dataContractResolver
DataContractResolver

Eine Implementierung des DataContractResolver, um Datenvertragstypen xsi:type-Deklarationen zuzuordnen.

Hinweise

Warnung

Diese Methode ist in Windows Store-Apps nicht verfügbar.

Gilt für:

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

Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Darüber hinaus gibt diese Methode das XML-Stammelement und den Namespace in zwei Zeichenfolgenparametern sowie eine Liste bekannter Typen, die in dem Objektdiagramm ggf. enthalten sind, an.

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))

Parameter

type
Type

Der Typ der Instanzen, die serialisiert oder deserialisiert werden.

rootName
String

Der Stammelementname des Inhalts.

rootNamespace
String

Der Namespace des Stammelements.

knownTypes
IEnumerable<Type>

Ein IEnumerable<T>-Objekt des Typs Type, das die in dem Objektdiagramm enthaltenen Typen angibt (falls vorhanden).

Beispiele

Im folgenden Beispiel wird eine Instanz des DataContractSerializer-Objekts erstellt, das den zu serialisierenden bzw. zu deserialisierenden Typ sowie den XML-Namen und -Namespace angibt, der aus dem XML-Dokument gelesen bzw. in das XML-Dokument geschrieben wird. Der Code erstellt zudem eine IEnumerable<T>-Instanz, die die bekannten Typen enthält, die bei der Serialisierung oder Deserialisierung verwendet werden.

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

Weitere Informationen

Gilt für:

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)

Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs mithilfe des XML-Stammelements und -Namespaces zu serialisieren bzw. zu deserialisieren, das/der durch die Parameter des Typs XmlDictionaryString angegeben wird.

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)

Parameter

type
Type

Der Typ der Instanzen, die serialisiert oder deserialisiert werden.

rootName
XmlDictionaryString

Ein XmlDictionaryString-Objekt, das den Namen des Stammelements für den Inhalt enthält.

rootNamespace
XmlDictionaryString

Ein XmlDictionaryString-Objekt, das den Namespace des Stammelements enthält.

Beispiele

Im folgenden Beispiel wird eine Instanz des DataContractSerializer-Objekts erstellt, das den zu serialisierenden bzw. zu deserialisierenden Typ sowie den XML-Namen und -Namespace (als XmlDictionaryString-Objekte) angibt, der aus dem XML-Dokument gelesen bzw. in das XML-Dokument geschrieben wird.

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

Gilt für:

DataContractSerializer(Type, String, String)

Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs mithilfe des bereitgestellten XML-Stammelements und -Namespace zu serialisieren bzw. zu deserialisieren.

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)

Parameter

type
Type

Der Typ der Instanzen, die serialisiert oder deserialisiert werden.

rootName
String

Der Name des XML-Elements, das den zu serialisierenden bzw. zu deserialisierenden Inhalt enthält.

rootNamespace
String

Der Namespace des XML-Elements, das den zu serialisierenden bzw. zu deserialisierenden Inhalt enthält.

Beispiele

Im folgenden Beispiel wird eine Instanz des DataContractSerializer-Objekts erstellt, das den zu serialisierenden bzw. zu deserialisierenden Typ sowie den XML-Namen und -Namespace angibt, der aus dem XML-Dokument gelesen bzw. in das XML-Dokument geschrieben wird.

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

Gilt für:

DataContractSerializer(Type, DataContractSerializerSettings)

Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs und Einstellungen zu serialisieren bzw. zu deserialisieren.

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)

Parameter

type
Type

Der Typ der Instanz, die serialisiert oder deserialisiert werden soll.

settings
DataContractSerializerSettings

Die Einstellungen des Serialisierungsprogramms

Gilt für:

DataContractSerializer(Type, IEnumerable<Type>)

Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs sowie eine Auflistung bekannter Typen, die im Objektdiagramm vorhanden sind, zu serialisieren bzw. zu deserialisieren.

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))

Parameter

type
Type

Der Typ der Instanzen, die serialisiert oder deserialisiert werden.

knownTypes
IEnumerable<Type>

Ein IEnumerable<T>-Objekt des Typs Type, das die in dem Objektdiagramm enthaltenen Typen angibt (falls vorhanden).

Beispiele

In dem folgenden Beispiel wird eine Instanz des DataContractSerializer-Objekts erstellt, das den zu serialisierenden bzw. zu deserialisierenden Typ sowie eine Auflistung bekannter Typen, die in dem Objektdiagramm verwendet werden können, angibt.

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

Weitere Informationen

Gilt für:

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

Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs

Initialisiert eine neue Instanz der DataContractSerializer-Klasse, um ein Objekt des genannten Typs zu serialisieren bzw. zu deserialisieren. Darüber hinaus gibt diese Methode das XML-Stammelement und den Namespace in zwei XmlDictionaryString-Parametern sowie eine Liste bekannter Typen, die in dem Objektdiagramm ggf. enthalten sind, an.

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))

Parameter

type
Type

Der Typ der Instanzen, die serialisiert oder deserialisiert werden.

rootName
XmlDictionaryString

Ein XmlDictionaryString-Objekt, das den Namen des Stammelements für den Inhalt enthält.

rootNamespace
XmlDictionaryString

Ein XmlDictionaryString-Objekt, das den Namespace des Stammelements enthält.

knownTypes
IEnumerable<Type>

Ein IEnumerable<T>-Objekt des Typs Type, das die im Objektdiagramm enthaltenen bekannten Typen angibt (falls vorhanden).

Beispiele

Im folgenden Beispiel wird eine Instanz des DataContractSerializer-Objekts erstellt, das den zu serialisierenden bzw. zu deserialisierenden Typ sowie den XML-Namen und -Namespace (als XmlDictionaryString-Objekte) angibt, der aus dem XML-Dokument gelesen bzw. in das XML-Dokument geschrieben wird. Der Code erstellt zudem eine IEnumerable<T>-Instanz, die die bekannten Typen enthält, die bei der Serialisierung oder Deserialisierung verwendet werden.

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

Weitere Informationen

Gilt für: