<declaredTypes>

包含在进行反序列化时 DataContractSerializer 使用的已知类型。

有关数据协定和已知类型的更多信息,请参见Data Contract Known Types

架构层次结构

system.runtime.serialization
  <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>

属性和元素

以下几节描述了特性、子元素和父元素。

属性

无。

子元素

元素 说明

<declaredTypes> 的 <add> 元素

添加需要已知类型的类型。

父元素

元素 说明

<system.runtime.serialization> 的 <dataContractSerializer>

包含 DataContractSerializer 的配置数据。

备注

有关已知类型的更多信息,请参见Data Contract Known TypesDataContractSerializer

示例

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

另请参见

参考

<dataContractSerializer>
<declaredTypes> 的 <add> 元素
DataContractSerializer

其他资源

Data Contract Known Types