共用方式為


<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 要套用到此原則類型的設定。 可能的值為 AllPublicPublicAndInternalRequired PublicRequired PublicAndInternalRequired 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>

另請參閱