Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Reflection fornisce oggetti (di tipo Type) che descrivono assembly, moduli e tipi. È possibile utilizzare la reflection per creare in modo dinamico un'istanza di un tipo, associare il tipo a un oggetto esistente oppure ottenere il tipo da un oggetto esistente e richiamarne i metodi o accedere ai relativi campi e proprietà. Se si usano attributi nel codice, la reflection consente di accedervi. Per altre informazioni, vedere Attributi.
Ecco un semplice esempio di reflection usando il metodo statico GetType
, ereditato da tutti i tipi della Object
classe base, per ottenere il tipo di una variabile.
' Using GetType to obtain type information:
Dim i As Integer = 42
Dim type As System.Type = i.GetType()
System.Console.WriteLine(type)
L'output è il seguente:
System.Int32
Nell'esempio seguente viene utilizzata la reflection per ottenere il nome completo dell'assembly caricato.
' Using Reflection to get information from an Assembly:
Dim info As System.Reflection.Assembly = GetType(System.Int32).Assembly
System.Console.WriteLine(info)
L'output è il seguente:
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Panoramica della reflection
La reflection è utile nelle situazioni seguenti:
Quando è necessario accedere agli attributi nei metadati del programma. Per altre informazioni, vedere recupero di informazioni archiviate negli attributi.
Per esaminare e creare istanze dei tipi in un assembly.
Per la creazione di nuovi tipi in fase di esecuzione. Usare classi in System.Reflection.Emit.
Per eseguire l'associazione tardiva, accedere ai metodi sui tipi creati in fase di esecuzione. Vedere l'argomento Caricamento e utilizzo dinamico dei tipi.
Sezioni correlate
Per altre informazioni: