Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Odbicie zapewnia obiekty (typu Type), które opisują zestawy, moduły i typy. Można użyć odbicia, aby dynamicznie utworzyć wystąpienie typu, powiązać typ z istniejącym obiektem lub pobrać typ z istniejącego obiektu i wywołać jego metody lub uzyskać dostęp do jego pól i właściwości. Jeśli używasz atrybutów w kodzie, odbicie umożliwia dostęp do nich. Aby uzyskać więcej informacji, zobacz Atrybuty.
Oto prosty przykład odbicia przy użyciu metody GetType statycznej — dziedziczonej przez wszystkie typy z Object klasy bazowej — w celu uzyskania typu zmiennej:
' Using GetType to obtain type information:
Dim i As Integer = 42
Dim type As System.Type = i.GetType()
System.Console.WriteLine(type)
Dane wyjściowe to:
System.Int32
W poniższym przykładzie użyto reflection w celu uzyskania pełnej nazwy załadowanego zestawu.
' Using Reflection to get information from an Assembly:
Dim info As System.Reflection.Assembly = GetType(System.Int32).Assembly
System.Console.WriteLine(info)
Dane wyjściowe to:
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Przegląd odbicia
Refleksja jest przydatna w następujących sytuacjach:
Jeśli musisz uzyskać dostęp do atrybutów w metadanych programu. Aby uzyskać więcej informacji, zobacz Pobieranie informacji przechowywanych w atrybutach.
Do badania i instancjonowania typów w zestawie.
Do tworzenia nowych typów w czasie wykonywania. Użyj klas w System.Reflection.Emit.
W przypadku wykonywania opóźnionych powiązań uzyskiwanie dostępu do metod dla typów utworzonych w czasie wykonywania. Zobacz temat Dynamiczne ładowanie i używanie typów.
Powiązane sekcje
Więcej informacji: