Nyelv

DataContractSerializer Konstruktorok

Definíció

Inicializálja a DataContractSerializer osztály új példányát.

Túlterhelések

Name Description
DataContractSerializer(Type)

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához.

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

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a módszer az objektumgráfban esetleg jelen lévő ismert típusok listáját, a szerializálandó gráfelemek maximális számát, a váratlan adatok figyelmen kívül hagyására szolgáló paramétereket, a nem szabványos XML-szerkezetek használatát a gráf objektumhivatkozási adatainak megőrzésére, az egyéni szerializálás helyettesét XmlDictionaryString , a tartalmat tartalmazó XML-elemet és névteret meghatározó paramétereket határozza meg, és alternatívát a deklarációk futásidőben történő leképezéséhez xsi:type .

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

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a módszer az objektumgráfban esetleg jelen lévő ismert típusok listáját, a szerializálandó gráfelemek maximális számát, a váratlan adatok figyelmen kívül hagyására szolgáló paramétereket, a nem szabványos XML-szerkezeteket a gráf objektumhivatkozási adatainak megőrzésére, az egyéni szerializálás helyettesét, a tartalmat tartalmazó XML-elemet és névteret határozza meg, és alternatívát a deklarációk futásidőben történő leképezéséhez xsi:type .

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

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a módszer az objektumgráfban esetleg megtalálható ismert típusok listáját, a szerializálandó gráfelemek maximális számát, a váratlan adatok figyelmen kívül hagyására szolgáló paramétereket, a nem szabványos XML-szerkezetek használatát a gráf objektumhivatkozási adatainak megőrzésére, az egyéni szerializálás helyettesét, valamint a tartalmat tartalmazó XML-elemet és névteret meghatározó paramétereket XmlDictionaryString határozza meg.

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

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a módszer az objektumgráfban esetlegesen előforduló ismert típusok listáját, a szerializálandó gráfelemek maximális számát, a váratlan adatok figyelmen kívül hagyására szolgáló paramétereket, a nem szabványos XML-szerkezeteket a gráf objektumhivatkozási adatainak megőrzésére, az egyéni szerializálás helyettesét, valamint a tartalmat tartalmazó XML-elemet és névteret határozza meg.

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

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a módszer az objektumgráfban esetleg jelen lévő ismert típusok listáját, a szerializálandó gráfelemek maximális számát, a váratlan adatok figyelmen kívül hagyására szolgáló paramétereket, a nem szabványos XML-szerkezetek használatát a gráf objektumhivatkozási adatainak megőrzésére, valamint az egyéni szerializálás helyettesét határozza meg.

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

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a módszer az objektumgráfban esetleg jelen lévő ismert típusok listáját, a szerializálandó gráfelemek maximális számát, a váratlan adatok figyelmen kívül hagyására szolgáló paramétereket, a nem szabványos XML-szerkezeteket a gráf objektumhivatkozási adatainak megőrzésére, az egyéni szerializálás helyettesét és a futtatáskor történő leképezés xsi:type alternatíváját határozza meg.

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

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a metódus két sztringparaméter gyökér XML-elemét és névterét, valamint az objektumgráfban esetleg megtalálható ismert típusok listáját is megadja.

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)

Inicializálja az osztály új példányát, DataContractSerializer hogy szerializálja vagy deszerializálja a megadott típusú objektumot a típusparamétereken XmlDictionaryStringmegadott XML-gyökérelem és névtér használatával.

DataContractSerializer(Type, String, String)

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához a megadott XML-gyökérelem és névtér használatával.

DataContractSerializer(Type, DataContractSerializerSettings)

Inicializálja az osztály új példányát, DataContractSerializer hogy szerializáljon vagy deszerializáljon egy adott típusú és beállítású objektumot.

DataContractSerializer(Type, IEnumerable<Type>)

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához, valamint az objektumgráfban esetleg megtalálható ismert típusok gyűjteményét.

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

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a metódus két XmlDictionaryString paraméter gyökér XML-elemét és névterét, valamint az objektumgráfban esetleg megtalálható ismert típusok listáját is megadja.

DataContractSerializer(Type)

Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához.

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

Paraméterek

type
Type

A szerializált vagy deszerializált példányok típusa.

Példák

Az alábbi példa egy olyan példányt hoz létre, DataContractSerializer amely megadja a szerializálni vagy deszerializálni kívánt típust.

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

A következőre érvényes:

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

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a módszer az objektumgráfban esetleg jelen lévő ismert típusok listáját, a szerializálandó gráfelemek maximális számát, a váratlan adatok figyelmen kívül hagyására szolgáló paramétereket, a nem szabványos XML-szerkezetek használatát a gráf objektumhivatkozási adatainak megőrzésére, az egyéni szerializálás helyettesét XmlDictionaryString , a tartalmat tartalmazó XML-elemet és névteret meghatározó paramétereket határozza meg, és alternatívát a deklarációk futásidőben történő leképezéséhez 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)

Paraméterek

type
Type

A szerializált vagy deszerializált példányok típusa.

rootName
XmlDictionaryString

A tartalmat szerializálni vagy deszerializálni tartalmazó XML-elem.

rootNamespace
XmlDictionaryString

Annak az XML-elemnek a névtere, amely a tartalmat szerializálni vagy deszerializálni kívánja.

knownTypes
IEnumerable<Type>

Az IEnumerable<T>Type egyik az objektumgráfban esetlegesen előforduló ismert típusokat tartalmazza.

maxItemsInObjectGraph
Int32

A gráf azon elemeinek maximális száma, amelyek szerializálhatók vagy deszerializálhatók.

ignoreExtensionDataObject
Boolean

truea szerializálás és a deszerializálás során a típus kiterjesztése által szolgáltatott adatok figyelmen kívül hagyása; egyéb esetben. false

preserveObjectReferences
Boolean

truenem szabványos XML-szerkezetek használata az objektumhivatkozási adatok megőrzéséhez; egyéb esetben. false

dataContractSurrogate
IDataContractSurrogate

A szerializálási IDataContractSurrogate folyamat testreszabásának implementációja.

dataContractResolver
DataContractResolver

A deklarációk adatszerződés-típusokra való leképezésének DataContractResolverxsi:type implementációja.

A következőre érvényes:

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

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a módszer az objektumgráfban esetleg jelen lévő ismert típusok listáját, a szerializálandó gráfelemek maximális számát, a váratlan adatok figyelmen kívül hagyására szolgáló paramétereket, a nem szabványos XML-szerkezeteket a gráf objektumhivatkozási adatainak megőrzésére, az egyéni szerializálás helyettesét, a tartalmat tartalmazó XML-elemet és névteret határozza meg, és alternatívát a deklarációk futásidőben történő leképezéséhez 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)

Paraméterek

type
Type

A szerializált vagy deszerializált példányok típusa.

rootName
String

A tartalmat szerializálni vagy deszerializálni tartalmazó XML-elem.

rootNamespace
String

Annak az XML-elemnek a névtere, amely a tartalmat szerializálni vagy deszerializálni kívánja.

knownTypes
IEnumerable<Type>

Az IEnumerable<T>Type egyik az objektumgráfban esetlegesen előforduló ismert típusokat tartalmazza.

maxItemsInObjectGraph
Int32

A gráf azon elemeinek maximális száma, amelyek szerializálhatók vagy deszerializálhatók.

ignoreExtensionDataObject
Boolean

truea szerializálás és a deszerializálás során a típus kiterjesztése által szolgáltatott adatok figyelmen kívül hagyása; egyéb esetben. false

preserveObjectReferences
Boolean

truenem szabványos XML-szerkezetek használata az objektumhivatkozási adatok megőrzéséhez; egyéb esetben. false

dataContractSurrogate
IDataContractSurrogate

A szerializálási IDataContractSurrogate folyamat testreszabásának implementációja.

dataContractResolver
DataContractResolver

A deklarációk adatszerződés-típusokra való leképezésének DataContractResolverxsi:type implementációja.

A következőre érvényes:

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

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a módszer az objektumgráfban esetleg megtalálható ismert típusok listáját, a szerializálandó gráfelemek maximális számát, a váratlan adatok figyelmen kívül hagyására szolgáló paramétereket, a nem szabványos XML-szerkezetek használatát a gráf objektumhivatkozási adatainak megőrzésére, az egyéni szerializálás helyettesét, valamint a tartalmat tartalmazó XML-elemet és névteret meghatározó paramétereket XmlDictionaryString határozza meg.

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)

Paraméterek

type
Type

A szerializált vagy deszerializált példányok típusa.

rootName
XmlDictionaryString

Ez XmlDictionaryString adja meg azt az XML-elemet, amely a tartalmat szerializálni vagy deszerializálni kívánja.

rootNamespace
XmlDictionaryString

A XmlDictionaryString gyökér XML-névterét adja meg.

knownTypes
IEnumerable<Type>

IEnumerable<T> Az egyik Type az objektumgráfban esetlegesen előforduló ismert típusokat tartalmazza.

maxItemsInObjectGraph
Int32

A gráf azon elemeinek maximális száma, amelyek szerializálhatók vagy deszerializálhatók.

ignoreExtensionDataObject
Boolean

truea szerializálás és a deszerializálás során a típus kiterjesztése által szolgáltatott adatok figyelmen kívül hagyása; egyéb esetben. false

preserveObjectReferences
Boolean

truenem szabványos XML-szerkezetek használata az objektumhivatkozási adatok megőrzéséhez; egyéb esetben. false

dataContractSurrogate
IDataContractSurrogate

A szerializálási IDataContractSurrogate folyamat testreszabásának implementációja.

Kivételek

Az elemek száma meghaladja a maximális értéket.

Példák

Az alábbi példa egy olyan példányt DataContractSerializer hoz létre, amely megadja a szerializálni vagy deszerializálni kívánt típust, a gyökér XML-elemet és névteret (paraméterként XmlDictionaryString ), valamint egy olyan példányt IEnumerable<T> , amely a deszerializálás során használt típusokat tartalmazza. A kód emellett beállítja a paramétereket és a ignoreExtensionDataObject paramétereketpreserveObjectReferences, és meghatározza a felület implementációját az true örökölt típusok (az attribútummal nem rendelkező IDataContractSurrogate típusok) DataContractAttribute kezeléséhez. További információkért tekintse meg a dokumentációt 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

Lásd még

A következőre érvényes:

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

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a módszer az objektumgráfban esetlegesen előforduló ismert típusok listáját, a szerializálandó gráfelemek maximális számát, a váratlan adatok figyelmen kívül hagyására szolgáló paramétereket, a nem szabványos XML-szerkezeteket a gráf objektumhivatkozási adatainak megőrzésére, az egyéni szerializálás helyettesét, valamint a tartalmat tartalmazó XML-elemet és névteret határozza meg.

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)

Paraméterek

type
Type

A szerializált vagy deszerializált példányok típusa.

rootName
String

A tartalmat szerializálni vagy deszerializálni tartalmazó XML-elem.

rootNamespace
String

Annak az XML-elemnek a névtere, amely a tartalmat szerializálni vagy deszerializálni kívánja.

knownTypes
IEnumerable<Type>

Az IEnumerable<T>Type egyik az objektumgráfban esetlegesen előforduló ismert típusokat tartalmazza.

maxItemsInObjectGraph
Int32

A gráf azon elemeinek maximális száma, amelyek szerializálhatók vagy deszerializálhatók.

ignoreExtensionDataObject
Boolean

truea szerializálás és a deszerializálás során a típus kiterjesztése által szolgáltatott adatok figyelmen kívül hagyása; egyéb esetben. false

preserveObjectReferences
Boolean

truenem szabványos XML-szerkezetek használata az objektumhivatkozási adatok megőrzéséhez; egyéb esetben. false

dataContractSurrogate
IDataContractSurrogate

A szerializálási IDataContractSurrogate folyamat testreszabásának implementációja.

Kivételek

Az elemek száma meghaladja a maximális értéket.

Példák

Az alábbi példa egy olyan példányt DataContractSerializer hoz létre, amely megadja a szerializálni vagy deszerializálni kívánt típust, a gyökér XML-elemet és névteret, valamint egy olyan példányt IEnumerable<T> , amely tartalmazza a deszerializálás során használt típusokat. A kód emellett beállítja a paramétereket és a ignoreExtensionDataObject paramétereketpreserveObjectReferences, és meghatározza a felület implementációját az true örökölt típusok (az attribútummal nem rendelkező IDataContractSurrogate típusok) DataContractAttribute kezeléséhez. További információkért tekintse meg a dokumentációt 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

Lásd még

A következőre érvényes:

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

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a módszer az objektumgráfban esetleg jelen lévő ismert típusok listáját, a szerializálandó gráfelemek maximális számát, a váratlan adatok figyelmen kívül hagyására szolgáló paramétereket, a nem szabványos XML-szerkezetek használatát a gráf objektumhivatkozási adatainak megőrzésére, valamint az egyéni szerializálás helyettesét határozza meg.

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)

Paraméterek

type
Type

A szerializált vagy deszerializált példányok típusa.

knownTypes
IEnumerable<Type>

Az IEnumerable<T>Type egyik az objektumgráfban esetlegesen előforduló ismert típusokat tartalmazza.

maxItemsInObjectGraph
Int32

A gráf azon elemeinek maximális száma, amelyek szerializálhatók vagy deszerializálhatók. Az alapértelmezett érték az Int32.MaxValue tulajdonság által visszaadott érték.

ignoreExtensionDataObject
Boolean

truea szerializálás és a deszerializálás során a típus kiterjesztése által szolgáltatott adatok figyelmen kívül hagyása; egyéb esetben. false

preserveObjectReferences
Boolean

truenem szabványos XML-szerkezetek használata az objektumhivatkozási adatok megőrzéséhez; egyéb esetben. false

dataContractSurrogate
IDataContractSurrogate

A szerializálási IDataContractSurrogate folyamat testreszabásának implementációja.

Kivételek

Az elemek száma meghaladja a maximális értéket.

Példák

Az alábbi példa egy olyan példányt hoz létre, DataContractSerializer amely megadja a szerializálni vagy deszerializálni kívánt típust, valamint egy példányt IEnumerable<T> , amely tartalmazza a szerializálás vagy deszerializálás során használt ismert típusokat. A kód emellett beállítja a paramétereket és a ignoreExtensionDataObject paramétereketpreserveObjectReferences, és meghatározza a felület implementációját az true örökölt típusok (az attribútummal nem rendelkező IDataContractSurrogate típusok) DataContractAttribute kezeléséhez. További információkért tekintse meg a dokumentációt 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

Lásd még

A következőre érvényes:

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

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a módszer az objektumgráfban esetleg jelen lévő ismert típusok listáját, a szerializálandó gráfelemek maximális számát, a váratlan adatok figyelmen kívül hagyására szolgáló paramétereket, a nem szabványos XML-szerkezeteket a gráf objektumhivatkozási adatainak megőrzésére, az egyéni szerializálás helyettesét és a futtatáskor történő leképezés xsi:type alternatíváját határozza meg.

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)

Paraméterek

type
Type

A szerializált vagy deszerializált példányok típusa.

knownTypes
IEnumerable<Type>

Az IEnumerable<T>Type egyik az objektumgráfban esetlegesen előforduló ismert típusokat tartalmazza.

maxItemsInObjectGraph
Int32

A gráf azon elemeinek maximális száma, amelyek szerializálhatók vagy deszerializálhatók. Az alapértelmezett érték az Int32.MaxValue tulajdonság által visszaadott érték.

ignoreExtensionDataObject
Boolean

truea szerializálás és a deszerializálás során a típus kiterjesztése által szolgáltatott adatok figyelmen kívül hagyása; egyéb esetben. false

preserveObjectReferences
Boolean

truenem szabványos XML-szerkezetek használata az objektumhivatkozási adatok megőrzéséhez; egyéb esetben. false

dataContractSurrogate
IDataContractSurrogate

A szerializálási IDataContractSurrogate folyamat testreszabásának implementációja.

dataContractResolver
DataContractResolver

A deklarációk adatszerződés-típusokra való leképezésének DataContractResolverxsi:type implementációja.

Megjegyzések

Warning

Ez a módszer nem érhető el Windows Áruházbeli alkalmazásokban.

A következőre érvényes:

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

Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a metódus két sztringparaméter gyökér XML-elemét és névterét, valamint az objektumgráfban esetleg megtalálható ismert típusok listáját is megadja.

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

Paraméterek

type
Type

A szerializált vagy deszerializált példányok típusa.

rootName
String

A tartalom gyökérelemének neve.

rootNamespace
String

A gyökérelem névtere.

knownTypes
IEnumerable<Type>

Az IEnumerable<T>Type egyik az objektumgráfban esetleg előforduló típusokat tartalmazza.

Példák

Az alábbi példa egy olyan példányt hoz létre, DataContractSerializer amely megadja a szerializálni vagy deszerializálni kívánt típust, valamint azt az XML-nevet és névteret, amelyből az XML-dokumentumból olvashat vagy írhat. A kód létrehoz egy példányt IEnumerable<T> is, amely tartalmazza a szerializálás vagy a deszerializálás során használt ismert típusokat.

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

Lásd még

A következőre érvényes:

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)

Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs

Inicializálja az osztály új példányát, DataContractSerializer hogy szerializálja vagy deszerializálja a megadott típusú objektumot a típusparamétereken XmlDictionaryStringmegadott XML-gyökérelem és névtér használatával.

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)

Paraméterek

type
Type

A szerializált vagy deszerializált példányok típusa.

rootName
XmlDictionaryString

A XmlDictionaryString tartalom gyökérelemének nevét tartalmazó név.

rootNamespace
XmlDictionaryString

A XmlDictionaryString gyökérelem névterét tartalmazó névtér.

Példák

Az alábbi példa egy olyan példányt hoz létre, DataContractSerializer amely megadja a szerializálni vagy deszerializálni kívánt típust, valamint az XML-nevet és a névteret (objektumként XmlDictionaryString ) az XML-dokumentumból való olvasáshoz vagy az XML-dokumentumba való íráshoz.

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

A következőre érvényes:

DataContractSerializer(Type, String, String)

Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához a megadott XML-gyökérelem és névtér használatával.

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)

Paraméterek

type
Type

A szerializált vagy deszerializált példányok típusa.

rootName
String

Annak az XML-elemnek a neve, amely a tartalmat szerializálni vagy deszerializálni kívánja.

rootNamespace
String

Annak az XML-elemnek a névtere, amely a tartalmat szerializálni vagy deszerializálni kívánja.

Példák

Az alábbi példa egy olyan példányt hoz létre, DataContractSerializer amely megadja a szerializálni vagy deszerializálni kívánt típust, valamint azt az XML-nevet és névteret, amelyből az XML-dokumentumból olvashat vagy írhat.

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

A következőre érvényes:

DataContractSerializer(Type, DataContractSerializerSettings)

Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs

Inicializálja az osztály új példányát, DataContractSerializer hogy szerializáljon vagy deszerializáljon egy adott típusú és beállítású objektumot.

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)

Paraméterek

type
Type

A szerializálni vagy deszerializálni kívánt példány típusa.

settings
DataContractSerializerSettings

A szerializáló beállításai.

A következőre érvényes:

DataContractSerializer(Type, IEnumerable<Type>)

Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához, valamint az objektumgráfban esetleg megtalálható ismert típusok gyűjteményét.

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

Paraméterek

type
Type

A szerializált vagy deszerializált példányok típusa.

knownTypes
IEnumerable<Type>

Az IEnumerable<T>Type egyik az objektumgráfban esetleg előforduló típusokat tartalmazza.

Példák

Az alábbi példa egy olyan példányt hoz létre, DataContractSerializer amely megadja a szerializálni vagy deszerializálni kívánt típust, valamint az objektumgráfban használható ismert típusok gyűjteményét.

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

Lásd még

A következőre érvényes:

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

Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs
Forrás:
DataContractSerializer.cs

Inicializálja az osztály új példányát a DataContractSerializer megadott típusú objektumok szerializálásához vagy deszerializálásához. Ez a metódus két XmlDictionaryString paraméter gyökér XML-elemét és névterét, valamint az objektumgráfban esetleg megtalálható ismert típusok listáját is megadja.

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

Paraméterek

type
Type

A szerializált vagy deszerializált példányok típusa.

rootName
XmlDictionaryString

A XmlDictionaryString tartalom gyökérelemének nevét tartalmazó név.

rootNamespace
XmlDictionaryString

A XmlDictionaryString gyökérelem névterét tartalmazó névtér.

knownTypes
IEnumerable<Type>

IEnumerable<T> Az egyik Type az objektumgráfban esetlegesen előforduló ismert típusokat tartalmazza.

Példák

Az alábbi példa egy olyan példányt hoz létre, DataContractSerializer amely megadja a szerializálni vagy deszerializálni kívánt típust, valamint az XML-nevet és a névteret (objektumként XmlDictionaryString ) az XML-dokumentumból való olvasáshoz vagy az XML-dokumentumba való íráshoz. A kód létrehoz egy példányt IEnumerable<T> is, amely tartalmazza a szerializálás vagy a deszerializálás során használt ismert típusokat.

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

Lásd még

A következőre érvényes: