<declaredTypes>
Enthält die bekannten Typen, die der DataContractSerializer bei der Deserialisierung verwendet.
Weitere Informationen zu Datenverträgen und bekannten Typen finden Sie unter Bekannte Typen für Datenverträge.
<configuration>
<system.runtime.serialization>
<dataContractSerializer>
<declaredTypes>
Syntax
<configuration>
<system.runtime.serialization>
<dataContractSerializer>
<declaredTypes>
<add type="String ">
<knownType type="String">
<parameter index="Integer"/>
</knownType>
</add>
</declaredTypes>
</dataContractSerializer>
</system.runtime.serialization>
</configuration>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
Keine
Untergeordnete Elemente
Element | BESCHREIBUNG |
---|---|
<add> | Fügt Typen hinzu, die bekannte Typen erfordern. |
Übergeordnete Elemente
Element | BESCHREIBUNG |
---|---|
<dataContractSerializer> | Enthält Konfigurationsdaten für den DataContractSerializer. |
Bemerkungen
Weitere Informationen zu bekannten Typen finden Sie unter Bekannte Typen für Datenverträge und DataContractSerializer.
Beispiel
Der folgende XML-Code zeigt deklarierte Typen und bekannte Typen, die einem DataContractSerializer
-Element hinzugefügt wurden. Im Beispiel werden drei hinzugefügte Typen dargestellt. Der erste ist ein benutzerdefinierter Typ mit dem Namen "Orders", der einen bekannten Typ mit dem Namen "Item" verwendet. Der zweite deklarierte Typ ist List<T> und verwendet Item
als bekannten Typ. Der dritte deklarierte Typ ist Dictionary<TKey,TValue>. Der Dictionary<TKey,TValue>-Klassentyp ist ein generischer Typ mit zwei Typparametern. Der erste stellt den Schlüssel dar und der zweite den Wert. Im folgenden Beispiel wird ein List<T> des zweiten Typs (der Wert) zur Liste bekannter Typen hinzugefügt. Sie müssen das index
-Attribut verwenden, um anzugeben, welcher Typparameter im bekannten Typ verwendet werden soll. In diesem Fall wird der Werttyp über das Indexattribut angegeben, das auf "1" festgelegt ist (die Auflistung ist nullbasiert).
<configuration>
<system.runtime.serialization>
<dataContractSerializer>
<declaredTypes>
<add type="Examples.Types.Orders, SerializationTypes, Version = 2.0.0.0, Culture = neutral, PublicKeyToken=null">
<knownType type="Examples.Types.Item, SerializationTypes, Version=2.0.0.0, Culture=neutral, PublicKey=null" />
</add>
<add type="System.Collections.Generic.List`1, SerializationTypes, Version = 2.0.0.0, Culture = neutral, PublicKeyToken=null">
<knownType type="Examples.Types.Item, SerializationTypes, Version=2.0.0.0, Culture=neutral, PublicKey=null" />
</add>
<add type="System.Collections.Generic.Dictionary`2, SerializationTypes, Version = 2.0.0.0, Culture = neutral, PublicKeyToken=null">
<knownType type="System.Collections.Generic.List`1, SerializationTypes, Version = 2.0.0.0, Culture = neutral, PublicKeyToken=null">
<parameter index="1"/>
</knownType>
</add>
</declaredTypes>
</dataContractSerializer>
</system.runtime.serialization>
</configuration>