Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Отражение предоставляет объекты (типа Type), описывающие сборки, модули и типы. Можно использовать отражение для динамического создания экземпляра типа, привязки типа к существующему объекту или получения типа из существующего объекта и вызова методов или доступа к его полям и свойствам. Если в коде используются атрибуты, отражение позволяет получить к ним доступ. Дополнительные сведения см. в разделе Атрибуты.
Ниже приведен простой пример отражения с помощью статического метода GetType
, унаследованного всеми типами из Object
базового класса, чтобы получить тип переменной:
' Using GetType to obtain type information:
Dim i As Integer = 42
Dim type As System.Type = i.GetType()
System.Console.WriteLine(type)
Результат выглядит так:
System.Int32
В следующем примере используется отражение для получения полного имени загруженной сборки.
' Using Reflection to get information from an Assembly:
Dim info As System.Reflection.Assembly = GetType(System.Int32).Assembly
System.Console.WriteLine(info)
Результат выглядит так:
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Обзор размышлений
Отражение полезно в следующих ситуациях:
Когда необходимо получить доступ к атрибутам в метаданных программы. Дополнительные сведения см. в разделе извлечение информации, хранящейся в атрибутах.
Для анализа и создания экземпляров типов в сборке.
Для создания новых типов во время выполнения. Используйте классы в System.Reflection.Emit.
Для выполнения позднего связывания и доступа к методам на типах, созданных во время выполнения. См. раздел динамической загрузки и использования типов.
Связанные разделы
Дополнительные сведения: