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