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 Conhecidos do Contrato de Dados.

<configuração>
   <system.runtime.serialization>
     <Datacontractserializer>
       <declaredTypes>

Sintaxe

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

Attributes

Nenhum.

Elementos filho

Elemento Description
<adicionar> Adiciona tipos que exigem tipos conhecidos.

Elementos pai

Elemento Description
<Datacontractserializer> Contém dados de configuração para o DataContractSerializer.

Observações

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

Example

O código XML a seguir mostra tipos declarados e tipos conhecidos adicionados a um DataContractSerializer elemento. O exemplo mostra três tipos sendo adicionados. O primeiro é um tipo personalizado chamado "Pedidos" que usa um tipo conhecido chamado "Item". O segundo tipo declarado é um List<T> que usa Item como um tipo conhecido. Por fim, o terceiro tipo declarado é um Dictionary<TKey,TValue>. O Dictionary<TKey,TValue> tipo de classe é um tipo genérico, com dois parâmetros de tipo. O primeiro representa a chave e o segundo representa o valor. O exemplo a seguir adiciona um List<T> do segundo tipo (o valor) à lista de tipos conhecidos. Você deve usar o index atributo 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>

Consulte também