<Elemento GenericParameter> (.NET Native)

Applica i criteri al tipo di parametro di un tipo o di un metodo generico.

Sintassi

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

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 generico. Ad esempio, per il delegato generico Func<T1,T2,TResult>, il valore dell'attributo Name è "TResult" per applicare i criteri di runtime al valore restituito del delegato.
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
generic_parameter_name Attributo obbligatorio. Il nome del parametro di tipo generico. Ad esempio, per il delegato generico Func<T1,T2,TResult>, un valore "TResult" per generic_parameter_name consente di applicare i criteri di runtime al valore restituito del delegato.

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.
<Type> Applica i criteri di reflection di runtime a un determinato tipo, ad esempio una classe o una struttura.

Osservazioni:

L'elemento <GenericParameter> è figlio dell'elemento <Method> o <Type> ed è usato per applicare i criteri a un determinato parametro di tipo generico, specificato mediante il nome nella firma del tipo o del metodo generico.

L'elemento <GenericParameter> è molto utile se usato con i serializzatori. L'esempio seguente usa l'elemento <GenericParameter> per applicare i criteri al tipo T nelle chiamate agli overload del metodo JsonConvert.DeserializeObject<T>(String) del serializzatore JSON NewtonSoft.

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

Vedi anche