Partager via


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

Applique la stratégie au type représenté par un argument Type passé à une méthode.

Syntaxe

<Parameter Name="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 de type Type. Par exemple, pour la signature de méthode Type.GetInterfaceMap(Type interfaceType), la valeur de l'attribut Name est « interfaceType ».
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
parameter_name Nom du paramètre de type Type. Par exemple, pour la signature de méthode Type.GetInterfaceMap(Type interfaceType), la valeur de l'attribut Name est « interfaceType ».

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.

Notes

L’élément <TypeParameter> est similaire à l’élément <Parameter> , sauf qu’il ne peut être appliqué qu’aux paramètres de type Type. Il applique la stratégie à tout type représenté au moment de l'exécution par l'argument de type spécifié par l'attribut Name.

Par exemple, le sérialiseur JSON NewtonSoft inclut une méthode JsonConvert.DeserializeObject(String value, Type type) statique. Les directives de réflexion suivantes :

<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
   <Type Name="Newtonsoft.Json.JsonConvert" >
      <Method Name="DeserializeObject">
         <GenericParameter Name="type" Serialize="Required All" />
      </Method>
   </Type>
</Directives>

spécifient que les métadonnées pour le type de runtime représenté par l’argument type doivent être accessibles pour la sérialisation. Si ces directives runtime s'appliquent à un projet qui inclut le code source suivant :

Type t = typeof(StockQuote);
Object obj = JsonConvert.DeserializeObject(data, t);

les directives de réflexion rendent les métadonnées pour le type StockQuote disponibles pour le sérialiseur JSON NewtonSoft au moment de l'exécution.

Voir aussi