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


<declaredTypes>

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

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

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

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

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

Attributes

Нет.

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

Элемент Description
<добавлять> Добавляет типы, требующие известных типов.

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

Элемент Description
<Datacontractserializer> Содержит данные конфигурации для DataContractSerializerобъекта .

Замечания

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

Example

В следующем 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>

См. также