Reflexe (Visual Basic)
Reflexe poskytuje objekty (typu Type ), které popisují sestavení, moduly a typy. Můžete použít reflexi k dynamickému vytvoření instance typu, svázání typu s existujícím objektem nebo získat typ z existujícího objektu a vyvolat jeho metody nebo získat přístup k jeho polím a vlastnostem. Pokud používáte atributy v kódu, reflexe vám umožní přístup k nim. Další informace najdete v tématu atributy.
Tady je jednoduchý příklad reflexe pomocí statické metody GetType – zděděné všemi typy ze Object základní třídy – pro získání typu proměnné:
' Using GetType to obtain type information:
Dim i As Integer = 42
Dim type As System.Type = i.GetType()
System.Console.WriteLine(type)
Výstup bude následující:
System.Int32
Následující příklad používá reflexi k získání úplného názvu načteného sestavení.
' Using Reflection to get information from an Assembly:
Dim info As System.Reflection.Assembly = GetType(System.Int32).Assembly
System.Console.WriteLine(info)
Výstup bude následující:
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Přehled reflexe
Reflexe je užitečná v následujících situacích:
Pokud budete mít přístup k atributům v metadatech vašeho programu. Další informace najdete v tématu načítání informací uložených v atributech.
Pro zkoumání a vytváření instancí typů v sestavení.
Pro vytváření nových typů v době běhu. Použijte třídy v System.Reflection.Emit .
Pro provádění pozdní vazby získáte přístup k metodám typů vytvořeným v době běhu. Viz téma Dynamické načítání a používání typů.
Související oddíly
Další informace najdete tady: