<add> of <declaredTypes> Element

Adds a type used by the DataContractSerializer during deserialization. Each declared type includes the known types that will be returned as a field or property of the declared type.

<add> of <declaredTypes>


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

Attributes and Elements

The following sections describe attributes, child elements, and parent elements.


Attribute Description
type Required string attribute.

Specifies the type name (including namespace), assembly name, version number, culture, and public key token.

Child Elements

Element Description
<knownType> Specifies the known type for the declared type that is being added. If the declared type is a generic type, then you must also add a parameter element to the <knownType> element to specify which generic parameter is used to return the known type.

Parent Elements

Element Description
<declaredTypes> Contains the types that require known types during deserialization by the DataContractSerializer.


For more information about known types, see Data Contract Known Types and DataContractSerializer.

See the <dataContractSerializer> for an example of using this element.


If you add the Object type as a <declaredType>, a ConfigurationErrorsException is thrown. This is because the Object type cannot be used as a declared type in configuration.


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

See also