Тип Описание
Assembly Этот класс (вместе с множеством связанных типов) предлагает ряд методов, позволяющих загружать, исследовать и обрабатывать компоновочный блок
AssemblyName Класс, позволяющий выяснить многочисленные подробности, касающиеся идентификации компоновочного блока (информацию о версии, параметры локализации и т.д.)
EventInfo Класс, содержащий информацию об указанном событии
FieldInfo Класс, содержащий информацию об указанном поле
MemberInfо Абстрактный базовый класс, определяющий общие характеристики поведения для типов EventInfo, Fieldlnfo, MethodInfo и PropertyInfo
MethodInfo Класс, содержащий информацию об указанном методе
Module Класс, позволяющий получить доступ к указанному модулю многомодульного компоновочного блока
ParameterInfo Класс, содержащий информацию об указанном параметре
PropertyInfo Класс, содержащий информацию об указанном свойстве

Чтобы понять, как использовать пространство имен System.Reflection для чтения метаданных .NET программными средствами, мы с вами должны сначала ознакомиться с возможностями класса System.Type.

<p>Класс System.Type</p>

Класс System.Type определяет ряд членов, которые могут использоваться для чтения метаданных типа, и многие из этих членов возвращают типы из пространства имен System.Reflection. Например, тип Type.GetMethods() возвращает массив типов MethodInfo, тип Type.GetFields() возвращает массив типа FieldInfo и т.д. Полный набор открытых членов System.Type очень велик. В табл. 12.2 предлагается небольшой список наиболее важных из них (подробности описания можно найти в документации .NET Framework 2.0 SDK).

Таблица 12.2. Избранные члены System.Type

Тип Описание
IsAbstract IsArray IsClass IsCOMObject IsEnum IsGenerlcTypeDefinition IsGenericParameter Islnterface IsPrimitive IsNestedPrivate IsNestedPublic IsSealed IsValueType Эти свойства (наряду с другими аналогичными) позволяют выяснить ряд основных характеристик соответствующего объекта Туре (например, является ли этот объект абстрактным методом, массивом, вложенным классом и т.д.)
GetConstructors() GetEvents() GetFields() GetInterfaces() GetMembers() GetMethods() GetNestedTypes() GetProperties() Эти методы (наряду с другими аналогичными) позволяют получить массив, представляющий все элементы соответствующего вида (интерфейсы, методы, свойства и т.п.). Каждый метод возвращает свой массив (например, GetFields() возвращает массив FieldInfо, GetMethods() возвращает массив MethodInfo и т.д.). Каждый из этих методов имеет также форму единственного числа (GetMethod(), GetProperty() и т.д.), которая позволяет извлечь один конкретный элемент по имени, а не все связанные элементы
FindMembers() Возвращает массив типов MemberInfo на основе заданных критериев поиска
GetType() Статический метод, возвращающий экземпляр Туре по заданному строковому имени
InvokeMember() Позволяет выполнить динамическую привязку к заданному элементу
Перейти на страницу:

Похожие книги