Elemento <TypeParameter> (.NET Native)

Applica i criteri al tipo rappresentato da un argomento tipo passato a un metodo.

Sintassi

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

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Tipo di attributo Descrizione
Name Generali Attributo obbligatorio. Il nome del parametro di tipo Type. Ad esempio, per la firma del metodo Type.GetInterfaceMap(Type interfaceType), il valore dell'attributo Name è "interfaceType".
Activate Reflection Attributo facoltativo. Controlla l'accesso in fase di esecuzione ai costruttori per abilitare l'attivazione di istanze.
Browse Reflection Attributo facoltativo. Controlla le query per le informazioni sugli elementi di programma, ma non abilita l'accesso in fase di esecuzione.
Dynamic Reflection Attributo facoltativo. Controlla l'accesso in fase di esecuzione a tutti i membri dei tipi, inclusi costruttori, metodi, campi, proprietà ed eventi, per abilitare la programmazione dinamica.
Serialize Serializzazione Attributo facoltativo. Controlla l'accesso in fase di esecuzione a costruttori, campi e proprietà per abilitare la serializzazione e la deserializzazione delle istanze del tipo da parte di librerie quali il serializzatore JSON di Newtonsoft.
DataContractSerializer Serializzazione Attributo facoltativo. Controlla i criteri per la serializzazione che usano la classe System.Runtime.Serialization.DataContractSerializer.
DataContractJsonSerializer Serializzazione Attributo facoltativo. Controlla i criteri per la serializzazione JSON che usano la classe System.Runtime.Serialization.Json.DataContractJsonSerializer.
XmlSerializer Serializzazione Attributo facoltativo. Controlla i criteri per la serializzazione XML che usano la classe System.Xml.Serialization.XmlSerializer.
MarshalObject Interop Attributo facoltativo. Controlla i criteri per effettuare il marshalling dei tipi di riferimento a Windows Runtime e COM.
MarshalDelegate Interop Attributo facoltativo. Controlla i criteri per effettuare il marshalling dei tipi delegati come puntatori a funzioni al codice nativo.
MarshalStructure Interop Attributo facoltativo. Controlla i criteri per il marshalling dei tipi di valore al codice nativo.

Name (attributo)

valore Descrizione
parameter_name Il nome del parametro di tipo Type. Ad esempio, per la firma del metodo Type.GetInterfaceMap(Type interfaceType), il valore dell'attributo Name è "interfaceType".

Tutti gli altri attributi

valore Descrizione
policy_setting L'impostazione da applicare a questo tipo di criteri. I valori consentiti sono All, Public, PublicAndInternal, Required Public, Required PublicAndInternal e Required All. Per altre informazioni, vedere Runtime Directive Policy Settings (Impostazioni dei criteri delle direttive di runtime).

Elementi figlio

Nessuno.

Elementi padre

Elemento Descrizione
<Metodo> Applica i criteri di reflection di runtime a un costruttore o a un metodo.

Osservazioni:

L'elemento <TypeParameter> è simile all'elemento <Parameter>, ma può essere applicato solo a parametri di tipo Type. Applica i criteri a qualsiasi tipo rappresentato al runtime dall'argomento Type specificato dall'attributo Name.

Ad esempio, il serializzatore JSON di NewtonSoft include un metodo statico JsonConvert.DeserializeObject(String value, Type type). Le seguenti direttive di reflection:

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

specificano che i metadati per il tipo di runtime rappresentati dall'argomento type devono essere resi disponibili per la serializzazione. Se queste direttive di runtime vengono applicate a un progetto che include il seguente codice sorgente:

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

le direttive di reflection rendono disponibili i metadati per il tipo StockQuote per il serializzatore JSON di NewtonSoft al runtime.

Vedi anche