Partager via


<GenericParameter> , élément (.NET Native)

Applique la stratégie au type de paramètre d'un type ou d'une méthode générique.

Syntaxe

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

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Type d'attribut Description
Name Généralités Attribut requis. Nom du paramètre générique. Par exemple, pour le délégué générique Func<T1,T2,TResult>, la valeur de l'attribut Name est « TResult » pour appliquer la stratégie runtime à la valeur de retour du délégué.
Activate Réflexion Attribut facultatif. Contrôle l'accès aux constructeurs pour permettre l'activation d'instances au moment de l'exécution.
Browse Réflexion Attribut facultatif. Contrôle la demande d'informations sur les éléments de programme, mais ne permet pas l'accès au moment de l'exécution.
Dynamic Réflexion Attribut facultatif. Contrôle l'accès à l'exécution à tous les membres de types, y compris les constructeurs, les méthodes, les champs, les propriétés et les événements, pour permettre la programmation dynamique.
Serialize Sérialisation Attribut facultatif. Contrôle l'accès au moment de l'exécution aux constructeurs, champs et propriétés, pour permettre la sérialisation et la désérialisation des instances de types par des bibliothèques comme le sérialiseur JSON Newtonsoft.
DataContractSerializer Sérialisation Attribut facultatif. Contrôle la stratégie pour la sérialisation qui utilise la classe System.Runtime.Serialization.DataContractSerializer.
DataContractJsonSerializer Sérialisation Attribut facultatif. Contrôle la stratégie pour la sérialisation JSON qui utilise la classe System.Runtime.Serialization.Json.DataContractJsonSerializer.
XmlSerializer Sérialisation Attribut facultatif. Contrôle la stratégie pour la sérialisation XML qui utilise la classe System.Xml.Serialization.XmlSerializer.
MarshalObject Interop Attribut facultatif. Contrôle la stratégie pour le marshaling des types de références vers Windows Runtime et COM.
MarshalDelegate Interop Attribut facultatif. Contrôle la stratégie pour le marshaling des types de délégués comme pointeurs de fonction vers du code natif.
MarshalStructure Interop Attribut facultatif. Contrôle la stratégie pour le marshaling des types de valeurs vers du code natif.

Name (attribut)

Valeur Description
nom_paramètre_générique Attribut requis. Nom du paramètre de type générique. Par exemple, pour le délégué générique Func<T1,T2,TResult>, la valeur nom_paramètre_générique « TResult » applique la stratégie runtime à la valeur de retour du délégué.

Tous les autres attributs

Valeur Description
policy_setting Paramètre à appliquer à ce type de stratégie. Les valeurs possibles sont All, Public, PublicAndInternal, Required Public, Required PublicAndInternal et Required All. Pour plus d’informations, consultez Paramètres de stratégie de directive runtime.

Éléments enfants

Aucune.

Éléments parents

Élément Description
<Méthode> Applique une stratégie de réflexion runtime à un constructeur ou à une méthode.
<Type> Applique la stratégie de réflexion runtime à un type particulier, tel qu'une classe ou une structure.

Notes

L’élément <GenericParameter> est un enfant de l’élément< Method> ou <Type> et est utilisé pour appliquer une stratégie à un paramètre de type générique particulier, qui est spécifié par son nom dans le type générique ou la signature de méthode.

L'élément <GenericParameter> est particulièrement utile quand il est employé avec des sérialiseurs. L’exemple suivant utilise l’élément pour appliquer la <GenericParameter> stratégie au type T dans les appels aux surcharges de méthode JsonConvert.DeserializeObject<T>(String) de NewtonSoft JSON.

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

Voir aussi