Condividi tramite


<declaredTypes>

Contiene i tipi noti usati dal serializzatore DataContractSerializer durante la deserializzazione.

Per altre informazioni sui contratti dati e sui tipi noti, vedere Tipi noti del contratto dati.

<Configurazione>
  <System.runtime.serialization>
    <Datacontractserializer>
      <declaredTypes>

Sintassi

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

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Nessuno.

Elementi figlio

Elemento Descrizione
<add> Aggiunge tipi che richiedono tipi noti.

Elementi padre

Elemento Descrizione
<Datacontractserializer> Contiene dati di configurazione per DataContractSerializer.

Commenti

Per altre informazioni sui tipi noti, vedere Tipi noti del contratto di dati e DataContractSerializer.

Esempio

Il codice XML seguente mostra i tipi dichiarati e i tipi noti aggiunti a un DataContractSerializer elemento. In particolare, l'esempio illustra l'aggiunta di tre tipi. Il primo è un tipo personalizzato denominato "Orders" che usa un tipo conosciuto denominato "Item". Il secondo tipo dichiarato è un elenco List<T> che usa Item come tipo conosciuto. Infine, il terzo tipo dichiarato è un dizionario Dictionary<TKey,TValue>. Il tipo della classe Dictionary<TKey,TValue> è un tipo generico, con due parametri di tipo. Il primo rappresenta la chiave e il secondo rappresenta il valore. Nell'esempio seguente viene aggiunto un elenco List<T> del secondo tipo (ovvero il valore) all'elenco dei tipi noti. È necessario usare l'attributo index per specificare quale parametro di tipo usare nel tipo conosciuto. In questo caso, il tipo di valore viene indicato impostando l'attributo index su "1", in quanto la raccolta è in base 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>

Vedi anche