Sdílet prostřednictvím


Reflexe (C# and Visual Basic)

Odraz poskytuje objekty (typu Type) popisují sestavení, moduly a typy.Odraz můžete dynamicky vytvořit instanci typu, vytvořit vazbu typu k existujícímu objektu nebo získat z existujícího objektu typu a vyvolat metody nebo pole vlastnosti a přístup.Používáte-li atributy kódu, odraz umožňuje přistupovat k nim.Další informace naleznete v tématu Rozšiřování metadat pomocí atributů.

Zde je jednoduchý příklad odraz pomocí statické metody GetType - zděděné z všechny typy Object základní třída - 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)
// Using GetType to obtain type information: 
int i = 42;
System.Type type = i.GetType();
System.Console.WriteLine(type);

Výstup je:

System.Int32

Následující příklad používá odraz získat úplný název načíst sestavení.

' Using Reflection to get information from an Assembly: 
Dim info As System.Reflection.Assembly = GetType(System.Int32).Assembly
System.Console.WriteLine(info)
// Using Reflection to get information from an Assembly:
System.Reflection.Assembly info = typeof(System.Int32).Assembly;
System.Console.WriteLine(info);

Výstup je:

mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

[!POZNÁMKA]

Klíčová slova jazyka C# protected a internal žádný význam v IL a nepoužívají odraz rozhraní API.Jsou odpovídající výrazy v IL řady a sestavení.K identifikaci internal metoda s použitím odraz použití IsAssembly vlastnost.K identifikaci protected internal metodu použití IsFamilyOrAssembly.

Přehled reflexe

Odraz je užitečné v následujících situacích:

Související oddíly

Další informace:

Viz také

Koncepty

Průvodce programováním v C#

Další zdroje

Příručka k programování v jazyce Visual Basic

Aplikační domény (C# a Visual Basic)

Sestavení v modulu CLR (Common Language Runtime)