Поделиться через


Шаблоны разработки, используемые классами отражения

Наиболее часто используемые методы в пространстве имен System.Reflection используют постоянный шаблон. Элементы классов Module, Type, и MemberInfo используют шаблоны разработки, приведенные в следующей таблице.

Сигнатура элемента

Описание

MyInstance[] FindXxx(filter, filterCriteria)

Находит и возвращает список типов, соответствующих условиям фильтра, или пустой массив, если ни один из типов, реализованных данным типом, не соответствует фильтру.

Пример: Type.FindInterfaces

MyInstance GetXxx(<parameters>)

Возвращает тип, который однозначно задан параметрами <parameters>. Если такого типа не существует, элемент возвращает пустую ссылку (Nothing в Visual Basic). Обратите внимание, что <parameters> уникально идентифицируют экземпляр.

Пример: Type.GetInterface

MyInstance[] GetXxxs()

Возвращает все открытые типы. Если открытых типов нет, элемент возвращает пустой массив.

Пример: Type.GetFields

MyInstance[] GetXxxs(<parameters>)

Возвращает все типы, заданные в <parameters>. Если таких типов нет, элемент возвращает пустой массив. Обратите внимание, что <parameters> не обязательно указывает на уникальный экземпляр.

Еще одним шаблоном разработки является использования делегатов. Они, как правило, используются в отражении для фильтрации набора результатов методов, которые возвращают массивы объектов.

См. также

Основные понятия

Просмотр сведений о типах