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