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, оставшиеся значения аргументов передаются по порядку.

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

Object

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

Исключения

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

Комментарии

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

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

Примечание

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

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

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