Generics e reflection (Guida per programmatori C#)
Poiché Common Language Runtime (CLR) ha accesso alle informazioni sui tipi generici in fase di esecuzione, è possibile utilizzare reflection per ottenere informazioni sui tipi generici, analogamente a quanto avviene per i tipi non generici. Per ulteriori informazioni, vedere Generics nel runtime (Guida per programmatori C#).
Per attivare le informazioni di runtime per i tipi generici, in .NET Framework 2.0 sono stati aggiunti nuovi membri alla classe Type. Vedere la documentazione su queste classi per ulteriori informazioni su come utilizzare questi metodi e proprietà. Lo spazio dei nomi System.Reflection.Emit contiene inoltre i nuovi membri che supportano i generics. Per informazioni, vedere Procedura: definire un tipo generico tramite reflection emit.
Per un elenco delle condizioni non variabili per i termini utilizzati nella reflection generica, vedere le osservazioni sulla proprietà IsGenericType.
Nome del membro di System.Type |
Descrizione |
---|---|
Restituisce true se un tipo è generico. |
|
Restituisce una matrice di oggetti Type che rappresentano gli argomenti di tipo forniti per un tipo costruito oppure i parametri di tipo di una definizione di un tipo generico. |
|
Restituisce la definizione di un tipo generico sottostante per il tipo costruito corrente. |
|
Restituisce una matrice di oggetti Type che rappresentano i vincoli sul parametro di tipo generico corrente. |
|
Restituisce true se il tipo o uno dei tipi o metodi che lo contengono comprendono parametri di tipo per cui non sono stati forniti tipi specifici. |
|
Ottiene una combinazione di flag GenericParameterAttributes che descrivono i vincoli speciali del parametro di tipo generico corrente. |
|
Per un oggetto Type che rappresenta un parametro di tipo, ottiene la posizione del parametro di tipo nell'elenco dei parametri di tipo della definizione di un tipo generico o della definizione di un metodo generico che ha dichiarato il parametro di tipo. |
|
Ottiene un valore che indica se l'oggetto Type corrente rappresenta un parametro di tipo di una definizione di un tipo o metodo generico. |
|
Ottiene un valore che indica se l'oggetto Type corrente rappresenta una definizione di un tipo generico da cui è possibile costruire altri tipi generici. Restituisce true se il tipo rappresenta la definizione di un tipo generico. |
|
Restituisce il metodo generico che ha definito il parametro di tipo generico corrente oppure null se il parametro di tipo non è stato definito da un metodo generico. |
|
Sostituisce gli elementi di una matrice di tipi ai parametri di tipo della definizione di tipo generico corrente e restituisce un oggetto Type che rappresenta il risultante tipo costruito. |
Per attivare le informazioni di runtime per i metodi generici, nella classe MethodInfo sono inoltre stati aggiunti diversi nuovi membri. Per un elenco delle condizioni non variabili per i termini utilizzati per i metodi generici, vedere le osservazioni sulla proprietà IsGenericMethod.
Nome del membro di System.Reflection.MemberInfo |
Descrizione |
---|---|
Restituisce true se un metodo è generico. |
|
Restituisce una matrice di oggetti Type che rappresentano gli argomenti di tipo di un metodo generico costruito o i parametri di tipo di una definizione di un metodo generico. |
|
Restituisce la definizione di un metodo generico sottostante per il metodo costruito corrente. |
|
Restituisce true se il metodo o uno dei tipi che lo contengono comprendono parametri di tipo per cui non sono stati forniti tipi specifici. |
|
Restituisce true se l'oggetto MethodInfo corrente rappresenta la definizione di un metodo generico. |
|
Sostituisce gli elementi di una matrice di tipi ai parametri di tipo della definizione di metodo generico corrente e restituisce un oggetto MethodInfo che rappresenta il risultante metodo costruito. |
Vedere anche
Riferimenti
Generics (Guida per programmatori C#)