Partager via


<declaredTypes>

Contient les types connus utilisés par le DataContractSerializer lors de la désérialisation.

Pour plus d’informations sur les contrats de données et les types connus, consultez Types connus de contrat de données.

<configuration>
  <system.runtime.serialization>
    <dataContractSerializer>
      <declaredTypes>

Syntaxe

<configuration>
  <system.runtime.serialization>
    <dataContractSerializer>
      <declaredTypes>
        <add type="String ">
          <knownType type="String">
            <parameter index="Integer"/>
          </knownType>
        </add>
      </declaredTypes>
    </dataContractSerializer>
  </system.runtime.serialization>
</configuration>

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Aucune.

Éléments enfants

Élément Description
<add> Ajoute des types qui requièrent des types connus.

Éléments parents

Élément Description
<dataContractSerializer> Contient les données de configuration correspondant au DataContractSerializer.

Notes

Pour plus d’informations sur les types connus, consultez Types connus de contrat de données et DataContractSerializer.

Exemple

Le code XML suivant illustre l’ajout de types déclarés et connus à un élément DataContractSerializer. L'exemple montre l'ajout de trois types. Le premier est un type personnalisé nommé « Orders » qui utilise un type connu nommé « Item ». Le deuxième est un List<T> qui utilise Item comme un type connu. Le troisième et dernier est un Dictionary<TKey,TValue>. Le type de classe Dictionary<TKey,TValue> est un type générique contenant deux paramètres de type. Le premier représente la clé et le second représente la valeur. L'exemple suivant ajoute un List<T> du deuxième type (la valeur) à la liste de types connus. Vous devez utiliser l'attribut index pour spécifier le paramètre de type à utiliser dans le type connu. Dans ce cas, le type de valeur est indiqué par l'ensemble d'attributs d'index ayant la valeur "1" (la collection est de base zéro).

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

Voir aussi