Compartilhar via


<add> do Elemento <declaredTypes>

Adiciona um tipo usado pelo DataContractSerializer durante a desserialização. Cada tipo declarado inclui os tipos conhecidos que serão retornados como campo ou propriedade do tipo declarado.

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

Syntax

<add type="String">
  <knownType type="String">
    <parameter index="Integer"
               type="String" />
  </knownType>
</add>

Atributos e elementos

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

Atributos

Atributo Descrição
type Atributo de cadeia de caracteres obrigatório.

Especifica o nome do tipo (inclusive namespace), nome do assembly, número de versão, cultura e token de chave pública.

Elementos filho

Elemento Descrição
<knownType> Especifica o tipo conhecido para o tipo declarado que está sendo adicionado. Se o tipo declarado for genérico, você também deverá adicionar um elemento de parâmetro ao elemento <knownType> para especificar qual parâmetro genérico é usado para retornar o tipo conhecido.

Elementos pai

Elemento Descrição
<declaredTypes> Contém os tipos que exigem tipos conhecidos durante a desserialização pelo DataContractSerializer.

Comentários

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

Veja no <dataContractSerializer> um exemplo de como usar esse elemento.

Observação

Se você adicionar o tipo Object como <declaredType>, será gerada ConfigurationErrorsException. Isso ocorre porque o tipo Object não pode ser usado como tipo declarado na configuração.

Exemplo

<add type="MyCompany.Library.Shape,
           MyAssembly, Version=2.0.0.0, Culture=neutral,
           PublicKeyToken=XXXXXX, processorArchitecture=MSIL">
  <knownType type="MyCompany.Library.Circle,
                   MyAssembly, Version=2.0.0.0, Culture=neutral,
                   PublicKeyToken=XXXXXX,
                   processorArchitecture=MSIL" />
</add>

Confira também