Reflection (Visual Basic)
La reflection specifica oggetti di tipo Type che descrivono assembly, moduli e tipi. È possibile usare 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.
Di seguito è riportato un esempio semplice di reflection che usa il metodo statico GetType
ereditato da tutti i tipi dalla classe di base Object
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
L'esempio seguente usa 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 memorizzate negli attributi.
Per esaminare e creare istanze di tipi in un assembly.
Per creare nuovi tipi in fase di esecuzione. Usare le classi in System.Reflection.Emit.
Per eseguire l'associazione tardiva, accedere ai metodi per i tipi creati in fase di esecuzione. Vedere l'argomento relativo a caricamento e uso dinamico dei tipi.
Sezioni correlate
Per altre informazioni: