Freigeben über


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

Siehe auch