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

这必须是 :BindingFlagsInvokeMethodNonPublic等等的位标志。

binder
Binder

一个对象,用于通过反射启用绑定、强制参数类型、调用成员和检索 MemberInfo 对象。 如果绑定器是 null,则使用默认绑定器。 如需了解详情,请访问 Binder

parameters
Object[]

参数列表。 这是一个参数数组,其数字、顺序和类型与要调用的方法的参数相同。 如果没有参数,则为 < a0/>。

culture
CultureInfo

用于控制类型的强制的实例 CultureInfo 。 如果为 null,则 CultureInfo 使用当前线程。 (例如,将表示 1000 String 的值转换为Double值所必需的,因为 1000 以不同的区域性表示 1000)。

返回

返回一个对象,该对象包含被调用方法的返回值。

例外

注解

如果该方法是静态的,则 obj 忽略参数。 对于非静态方法, obj 应是继承或声明方法的类的实例,并且必须与此类的类型相同。 如果方法没有参数,则值 parameters 应为 null。 否则,参数数组中元素的数量、类型和顺序应与此实例反映的方法的参数的数量、类型和顺序相同。

注释

对于完全受信任的代码,将忽略访问限制。 也就是说,每当代码完全受信任时,都可以使用反射访问和调用专用构造函数、方法、字段和属性。

适用于