<declaredTypes>
Содержит известные типы, которые DataContractSerializer использует при десериализации.
Дополнительные сведения о контрактах данных и известных типах см. в разделе Известные типы контракта данных.
<Конфигурации>
<system.runtime.serialization>
<Datacontractserializer>
<declaredTypes>
Синтаксис
<configuration>
<system.runtime.serialization>
<dataContractSerializer>
<declaredTypes>
<add type="String ">
<knownType type="String">
<parameter index="Integer"/>
</knownType>
</add>
</declaredTypes>
</dataContractSerializer>
</system.runtime.serialization>
</configuration>
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Атрибуты
Отсутствует.
Дочерние элементы
Элемент | Описание |
---|---|
<добавление> | Добавляет типы, для которых необходимы известные типы. |
Родительские элементы
Элемент | Описание |
---|---|
<Datacontractserializer> | Содержит данные конфигурации для DataContractSerializer. |
Комментарии
Дополнительные сведения об известных типах см . в разделах Известные типы контракта данных и DataContractSerializer.
Пример
В следующем XML-коде показаны объявленные типы и известные типы, добавленные в DataContractSerializer
элемент . В этом примере показаны три добавляемых типа. Первый тип - это пользовательский тип с именем «Orders», использующий известный тип с именем «Item». Второй объявленный тип - это List<T>, использующий Item
в качестве известного типа. Наконец, третий объявленный тип - это Dictionary<TKey,TValue>. Тип класса Dictionary<TKey,TValue> является универсальным типом с двумя параметрами типов. Первый представляет ключ, а второй представляет значение. В следующем примере параметр второго типа List<T> (значение) добавляется к списку известных типов. Чтобы задать параметр типа для использования в известном типе, необходимо использовать атрибут index
. В данном примере тип значения указан атрибутом индекса, для которого задано значение 1 (коллекция начинается с нуля).
<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>