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