Compartilhar via


<declaredTypes>

Contém os tipos conhecidos que o DataContractSerializer usa ao desserializar.

Para obter mais informações sobre contratos de dados e tipos conhecidos, consulte Tipos de Contratos de Dados Conhecidos.

<configuração>
  <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>

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Atributos

Nenhum.

Elementos filho

Elemento Descrição
<add> Adiciona tipos que exigem tipos conhecidos.

Elementos pai

Elemento Descrição
<dataContractSerializer> Contém dados de configuração para o DataContractSerializer.

Comentários

Para obter mais informações sobre tipos conhecidos, consulte Tipos de Contratos de Dados Conhecidos e DataContractSerializer.

Exemplo

O código XML a seguir mostra tipos declarados e conhecidos adicionados a um elemento DataContractSerializer. O exemplo mostra a adição de três tipos. O primeiro é um tipo personalizado chamado "Orders" que usa um tipo conhecido chamado "Item". O segundo tipo declarado é um List<T> que usa Item como tipo conhecido. Por fim, o terceiro tipo declarado é Dictionary<TKey,TValue>. O tipo de classe Dictionary<TKey,TValue> é genérico, com dois parâmetros de tipo. O primeiro representa a chave e o segundo, o valor. O exemplo a seguir adiciona List<T> do segundo tipo (o valor) à lista de tipos conhecidos. Você deve usar o atributo index para especificar qual parâmetro de tipo usar no tipo conhecido. Nesse caso, o tipo de valor é indicado pelo atributo de índice definido como "1" (a coleção é baseada em zero).

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

Confira também