Partilhar via


<declaredTypes>

Contém os tipos conhecidos que o DataContractSerializer utiliza ao anular a serialização.

Para obter mais informações sobre contratos de dados e tipos conhecidos, veja Tipos Conhecidos do Contrato de Dados.

<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 secções seguintes descrevem atributos, elementos subordinados e elementos principais.

Atributos

Nenhum.

Elementos Subordinados

Elemento Descrição
<adicionar> Adiciona tipos que requerem tipos conhecidos.

Elementos Principais

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

Observações

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

Exemplo

O seguinte código XML mostra tipos declarados e tipos conhecidos adicionados a um DataContractSerializer elemento. O exemplo mostra três tipos a serem adicionados. O primeiro é um tipo personalizado com o nome "Encomendas" que utiliza um tipo conhecido com o nome "Item". O segundo tipo declarado é um List<T> que utiliza Item como um tipo conhecido. Por fim, o terceiro tipo declarado é .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 seguinte adiciona um List<T> do segundo tipo (o valor) à lista de tipos conhecidos. Tem de utilizar o index atributo para especificar o tipo de parâmetro a utilizar no tipo conhecido. Neste 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>

Ver também