MethodBuilder.Invoke 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在给定对象上动态调用此实例反映的方法,沿指定参数传递,并受给定绑定器的约束。
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
这必须是 :BindingFlagsInvokeMethod、NonPublic等等的位标志。
- binder
- Binder
一个对象,用于通过反射启用绑定、强制参数类型、调用成员和检索 MemberInfo 对象。 如果绑定器是 null,则使用默认绑定器。 如需了解详情,请访问 Binder。
- parameters
- Object[]
参数列表。 这是一个参数数组,其数字、顺序和类型与要调用的方法的参数相同。 如果没有参数,则为
- culture
- CultureInfo
用于控制类型的强制的实例 CultureInfo 。 如果为 null,则 CultureInfo 使用当前线程。 (例如,将表示 1000 String 的值转换为Double值所必需的,因为 1000 以不同的区域性表示 1000)。
返回
返回一个对象,该对象包含被调用方法的返回值。
例外
目前不支持此方法。 检索方法的用法 GetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) 并调用 InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) 返回 MethodInfo的方法。
注解
如果该方法是静态的,则 obj 忽略参数。 对于非静态方法, obj 应是继承或声明方法的类的实例,并且必须与此类的类型相同。 如果方法没有参数,则值 parameters 应为 null。 否则,参数数组中元素的数量、类型和顺序应与此实例反映的方法的参数的数量、类型和顺序相同。
注释
对于完全受信任的代码,将忽略访问限制。 也就是说,每当代码完全受信任时,都可以使用反射访问和调用专用构造函数、方法、字段和属性。