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