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


TypeBuilder.InvokeMember Метод

Определение

Вызывает указанный член. Вызываемый метод должен быть доступен и обеспечивать наиболее точное соответствие заданному списку аргументов с учетом ограничений заданного модуля привязки и атрибутов вызова.

public:
 override System::Object ^ InvokeMember(System::String ^ name, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, System::Object ^ target, cli::array <System::Object ^> ^ args, cli::array <System::Reflection::ParameterModifier> ^ modifiers, System::Globalization::CultureInfo ^ culture, cli::array <System::String ^> ^ namedParameters);
public override object? InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object? target, object?[]? args, System.Reflection.ParameterModifier[]? modifiers, System.Globalization.CultureInfo? culture, string[]? namedParameters);
public override object InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
override this.InvokeMember : string * System.Reflection.BindingFlags * System.Reflection.Binder * obj * obj[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] -> obj
Public Overrides Function InvokeMember (name As String, invokeAttr As BindingFlags, binder As Binder, target As Object, args As Object(), modifiers As ParameterModifier(), culture As CultureInfo, namedParameters As String()) As Object

Параметры

name
String

Имя вызываемого члена. Это может быть конструктор, метод, свойство или поле. Необходимо указать подходящий атрибут вызова. Обратите внимание, что можно вызвать член класса, заданный по умолчанию, передав в качестве имени члена пустую строку.

invokeAttr
BindingFlags

Атрибут вызова. Это должен быть одноразрядный флаг из BindingFlags.

binder
Binder

Объект, позволяющий осуществлять привязку, приведение типов аргументов, вызов элементов, а также поиск объектов MemberInfo с помощью отражения. Если указан модуль привязки null, используется модуль привязки по умолчанию. См. раздел Binder.

target
Object

Объект, для которого следует вызвать указанный член. Если член является статическим, этот параметр игнорируется.

args
Object[]

Список аргументов. Это массив объектов, содержащий число, порядок и тип параметров вызываемого члена. Если параметров нет, должно быть указано значение NULL.

modifiers
ParameterModifier[]

Массив с такой же длиной, как у args с элементами, представляющими атрибуты, связанные с аргументами вызываемого члена. Параметр имеет атрибуты, связанные с ним в метаданных. Они используются различными службами взаимодействия. Дополнительные сведения см. в спецификации метаданных.

culture
CultureInfo

Экземпляр объекта CultureInfo , используемого для управления приведением типов. Если параметр имеет значение NULL, для текущего потока используется CultureInfo. (Обратите внимание, что необходимо, например, преобразовать строку, представляющую 1000, в число с двойной точностью, поскольку для разных языков и региональных параметров 1000 представляется по-разному.)

namedParameters
String[]

Каждый параметр в массиве namedParameters получает значение в соответствующем элементе в массиве args. Если длина args превышает длину namedParameters, оставшиеся значения аргументов передаются по порядку.

Возвращаемое значение

Возвращает возвращаемое значение вызываемого члена.

Исключения

В настоящее время этот метод не поддерживается для неполных типов.

Комментарии

Метод вызывается, если число параметров в объявлении метода равно количеству аргументов в указанном списке аргументов, а тип каждого аргумента может быть преобразован связыватель в тип параметра.

Связыватель найдет все соответствующие методы. Эти методы находятся на основе типа запрошенной привязки (BindingFlags.InvokeMethod, BindingFlags.GetProperties и т. д.). Набор методов фильтруется по имени, количеству аргументов и набору модификаторов поиска, определенных в связывателье. После выбора метода он будет вызван. На этом этапе проверяется специальные возможности. Поиск может управлять набором методов поиска на основе атрибута специальных возможностей, связанного с методом. Метод IBinder.BindToMethod отвечает за выбор вызываемого метода. Связыватель по умолчанию выбирает наиболее конкретное совпадение.

Примечание

Ограничения доступа игнорируются для полностью доверенного кода. То есть к закрытым конструкторам, методам, полям и свойствам можно обращаться и вызывать с помощью отражения всякий раз, когда код является полностью доверенным.

В настоящее время этот метод не поддерживается. Тип можно получить с помощью Type.GetType или Assembly.GetType и использовать отражение для полученного типа.

Применяется к