MethodBuilder.Invoke Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Динамически вызывает метод, отраженный этим экземпляром для данного объекта, передавая указанные параметры и учитывая ограничения данного модуля привязки.
public:
override System::Object ^ Invoke(System::Object ^ obj, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public override object Invoke (object? obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public override object Invoke (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : obj * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public Overrides Function Invoke (obj As Object, invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
Параметры
- obj
- Object
Объект, для которого нужно вызвать указанный метод. Если метод является статическим, этот параметр игнорируется.
- invokeAttr
- BindingFlags
Это должен быть одноразрядный флаг из BindingFlags: InvokeMethod
, NonPublic
и так далее.
- binder
- Binder
Объект, позволяющий осуществлять привязку, приведение типов аргументов, вызов членов, а также поиск объектов MemberInfo с помощью отражения. Если указан модуль привязки null
, используется модуль привязки по умолчанию. Дополнительные сведения см. в статье Binder.
- parameters
- Object[]
Список аргументов. Это массив аргументов с тем же числом, порядком и типом, что и параметры вызываемого метода. Если параметров нет, должно быть указано значение null
.
- culture
- CultureInfo
Экземпляр объекта CultureInfo , используемого для управления приведением типов. Если параметр имеет значение NULL, для текущего потока используется CultureInfo. (Это необходимо, например, чтобы преобразовывать объект String, представляющий 1000, в значение Double, поскольку в разных языках и региональных параметрах 1000 представляется по-разному.)
Возвращаемое значение
Возвращает объект, содержащий возвращаемое значение вызываемого элемента.
Исключения
В настоящее время этот метод не поддерживается. Извлеките метод с помощью GetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) и вызовите InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) в возвращенном методе MethodInfo.
Комментарии
Если метод является статическим obj
, параметр игнорируется. Для нестатических методов должен быть экземпляром класса, obj
который наследует или объявляет метод и должен иметь тот же тип, что и этот класс. Если метод не имеет параметров, значение должно иметь значение parameters
null
. В противном случае число, тип и порядок элементов в массиве параметров должны совпадать с числом, типом и порядком параметров для метода, отраженного в этом экземпляре.
Примечание
Ограничения доступа для полностью доверенного кода игнорируются. То есть к закрытым конструкторам, методам, полям и свойствам можно обращаться и вызывать с помощью отражения всякий раз, когда код является полностью доверенным.