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

另請參閱