Reflektion (Visual Basic)
Reflektion innehåller objekt (av typen Type) som beskriver sammansättningar, moduler och typer. Du kan använda reflektion för att dynamiskt skapa en instans av en typ, binda typen till ett befintligt objekt eller hämta typen från ett befintligt objekt och anropa dess metoder eller komma åt dess fält och egenskaper. Om du använder attribut i koden kan du med reflektion komma åt dem. Mer information finns i Attribut.
Här är ett enkelt exempel på reflektion med hjälp av den statiska metoden GetType
– ärvd av alla typer från basklassen Object
– för att hämta typen av en variabel:
' Using GetType to obtain type information:
Dim i As Integer = 42
Dim type As System.Type = i.GetType()
System.Console.WriteLine(type)
Resultatet är:
System.Int32
I följande exempel används reflektion för att hämta det fullständiga namnet på den inlästa sammansättningen.
' Using Reflection to get information from an Assembly:
Dim info As System.Reflection.Assembly = GetType(System.Int32).Assembly
System.Console.WriteLine(info)
Resultatet är:
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Översikt över reflektion
Reflektion är användbart i följande situationer:
När du måste komma åt attribut i programmets metadata. Mer information finns i Hämta information som lagras i attribut.
För att undersöka och instansiera typer i en sammansättning.
För att skapa nya typer vid körning. Använd klasser i System.Reflection.Emit.
För att utföra sen bindning får du åtkomst till metoder för typer som skapas vid körning. Se avsnittet Dynamisk inläsning och användning av typer.
Relaterade avsnitt
Mer information: