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

特性和元素

下列各节描述了特性、子元素和父元素。

特性

无。

子元素

元素 说明
<add> 添加需要已知类型的类型。

父元素

元素 说明
<dataContractSerializer> 包含 DataContractSerializer 的配置数据。

备注

有关已知类型的详细信息,请参阅数据协定已知类型DataContractSerializer

示例

下面的 XML 代码演示声明类型和添加到 DataContractSerializer 元素的已知类型。 此示例演示要添加的三个类型。 第一个类型是名为“Orders”的自定义类型,它使用一个名为“Item”的已知类型。 第二个声明类型 List<T>,它使用 Item 作为已知类型。 最后,第三个声明类型是 Dictionary<TKey,TValue>Dictionary<TKey,TValue> 类类型是泛型类型,并带有两个类型参数。 第一个参数表示键,第二个参数表示值。 下面的示例将第二个类型的 List<T>(值)添加到已知类型的列表中。 必须使用 index 属性来指定在已知类型中使用的类型参数。 在此例中,通过将 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>

请参阅