Поделиться через


<declaredTypes>

Содержит известные типы, которые DataContractSerializer использует при десериализации.

Дополнительные сведения о контрактах данных и известных типах см. в разделе Data Contract Known Types.

Иерархия схемы

system.runtime.serialization
  <dataContractSerializer> для <system.runtime.serialization>
    <declaredTypes>

Синтаксис

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

Атрибуты и элементы

В следующих разделах описываются атрибуты, дочерние и родительские элементы.

Атрибуты

Нет.

Дочерние элементы

Элемент Описание

< add> элемента <declaredTypes>

Добавляет типы, для которых необходимы известные типы.

Родительские элементы

Элемент Описание

<dataContractSerializer> для <system.runtime.serialization>

Содержит данные конфигурации для DataContractSerializer.

Замечания

Дополнительные сведения известных типах[см. в разделах Data Contract Known Types и DataContractSerializer.

Пример

Следующий код XML показывает объявленные типы и известные типы, добавленные к элементу DataContractSerializer . В этом примере показаны три добавляемых типа. Первый тип — это пользовательский тип с именем «Orders», использующий известный тип с именем «Item». Второй объявленный тип — это List, использующий Item в качестве известного типа. Наконец, третий объявленный тип — это Dictionary. Тип класса Dictionary является универсальным типом с двумя параметрами типов. Первый представляет ключ, а второй представляет значение. В следующем примере параметр второго типа List (значение) добавляется к списку известных типов. Чтобы задать параметр типа для использования в известном типе, необходимо использовать атрибут 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>

См. также

Справочник

<dataContractSerializer>
< add> элемента <declaredTypes>
DataContractSerializer

Другие ресурсы

Data Contract Known Types