共用方式為


<declaredTypes>

包含還原序列化時,DataContractSerializer 使用的已知型別。

如需資料合約和已知類型的詳細資訊,請參閱資料合約已知類型

<configuration>
  <system.runtime.serialization>
    <dataContractSerializer>
      <declaredTypes>

Syntax

<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 屬性來指定要在已知型別中使用的型別參數。 在此案例中,值型別是由索引屬性設定為 "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>

另請參閱