<declaredTypes>
Contains the known types that the DataContractSerializer uses when deserializing.
For more information about data contracts and known types, see Data Contract Known Types.
<configuration>
<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>
Attributes and Elements
The following sections describe attributes, child elements, and parent elements.
Attributes
None.
Child Elements
Element | Description |
---|---|
<add> | Adds types that require known types. |
Parent Elements
Element | Description |
---|---|
<dataContractSerializer> | Contains configuration data for the DataContractSerializer. |
Remarks
For more information about known types, see Data Contract Known Types and DataContractSerializer.
Example
The following XML code shows declared types and known types added to a DataContractSerializer
element. The example shows three types being added. The first is a custom type named "Orders" that uses a known type named "Item". The second declared type is a List<T> that uses Item
as a known type. Finally the third declared type is a Dictionary<TKey,TValue>. The Dictionary<TKey,TValue> class type is a generic type, with two type parameters. The first represents the key and the second represents the value. The following example adds a List<T> of the second type (the value) to the list of known types. You must use the index
attribute to specify which type parameter to use in the known type. In this case, the value type is indicated by the index attribute set to "1" (the collection is zero-based).
<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>