<GenericParameter> 項目 (.NET Native)
將原則套用到泛型類型或方法的參數類型。
語法
<GenericParameter Name="generic_parameter_name"
Activate="policy_type"
Browse="policy_type"
Dynamic="policy_type"
Serialize="policy_type"
DataContractSerializer="policy_type"
DataContractJsonSerializer="policy_type"
XmlSerializer="policy_type"
MarshalObject="policy_type"
MarshalDelegate="policy_type"
MarshalStructure="policy_type" />
屬性和項目
下列章節說明屬性、子元素和父元素。
屬性
屬性 | 屬性類型 | 描述 |
---|---|---|
Name |
一般 | 必要的 屬性。 泛型參數的名稱。 例如,針對泛型委派的 Func<T1,T2,TResult>,Name 屬性的值是 "TResult",以將執行階段原則套用至委派的傳回值。 |
Activate |
反映 | 選用屬性。 控制建構函式的執行階段存取,以便啟動執行個體。 |
Browse |
反映 | 選用屬性。 控制程式項目相關資訊的查詢,但不會啟用任何執行階段存取。 |
Dynamic |
反映 | 選用屬性。 控制對所有類型成員 (包括建構函式、方法、欄位、屬性和事件) 的執行階段存取,以啟用動態程式設計。 |
Serialize |
序列化 | 選用屬性。 控制建構函式、欄位和屬性的執行階段存取,以便 Newtonsoft JSON 序列化程式等程式庫可對類型執行個體進行序列化和還原序列化。 |
DataContractSerializer |
序列化 | 選用屬性。 控制使用 System.Runtime.Serialization.DataContractSerializer 類別的序列化原則。 |
DataContractJsonSerializer |
序列化 | 選用屬性。 控制使用 System.Runtime.Serialization.Json.DataContractJsonSerializer 類別的 JSON 序列化原則。 |
XmlSerializer |
序列化 | 選用屬性。 控制使用 System.Xml.Serialization.XmlSerializer 類別的 XML 序列化原則。 |
MarshalObject |
Interop | 選用屬性。 控制 Windows 執行階段和 COM 之參考類型的封送處理原則。 |
MarshalDelegate |
Interop | 選用屬性。 控制將委派類型當作函式指標封送處理至機器碼的原則。 |
MarshalStructure |
Interop | 選用屬性。 控制將值類型封送處理為原生程式碼的原則。 |
Name 屬性
值 | Description |
---|---|
generic_parameter_name | 必要的 屬性。 泛型型別參數的名稱。 例如,針對泛型委派的 Func<T1,T2,TResult>,"TResult" 的 generic_parameter_name 值會將執行階段原則套用至委派的傳回值。 |
所有其他屬性
值 | Description |
---|---|
policy_setting | 要套用到此原則類型的設定。 可能的值為 All 、Public 、PublicAndInternal 、Required Public 、Required PublicAndInternal 和 Required All 。 如需詳細資訊,請參閱執行階段指示詞原則設定。 |
子元素
無。
父項目
元素 | 描述 |
---|---|
<方法> | 將執行階段反映原則套用到建構函式或方法。 |
<類型> | 將執行階段反映原則套用至特定類型,例如類別或結構。 |
備註
<GenericParameter>
項目是 <Method> 或 <Type> 項目的子項,可用來將原則套用至特定泛型型別參數 (在泛型型別或方法簽章中,以其名稱來指定)。
<GenericParameter>
元素與序列化程式搭配使用時最有用。 下列範例使用 <GenericParameter>
項目,將原則套用至 NewtonSoft JSON 序列化程式之 JsonConvert.DeserializeObject<T> (String) 方法多載呼叫中的類型 T
。
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
<Type Name="Newtonsoft.Json.JsonConvert" >
<Method Name="DeserializeObject{T}">
<GenericParameter Name="T" Serialize="Required All" />
</Method>
</Type>
</Directives>