AccessibleObject.IReflect.InvokeMember 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
virtual System::Object ^ System.Reflection.IReflect.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) = System::Reflection::IReflect::InvokeMember;
object IReflect.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);
object? IReflect.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);
abstract member System.Reflection.IReflect.InvokeMember : string * System.Reflection.BindingFlags * System.Reflection.Binder * obj * obj[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] -> obj
override this.System.Reflection.IReflect.InvokeMember : string * System.Reflection.BindingFlags * System.Reflection.Binder * obj * obj[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] -> obj
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 Implements IReflect.InvokeMember
参数
- name
- String
要查找的成员的名称。
- invokeAttr
- BindingFlags
BindingFlags 调用特性之一。
- binder
- Binder
BindingFlags 位标志之一。 实现 Binder,它包含与此方法相关的属性。
- target
- Object
对其调用指定成员的对象。 对于静态成员,此参数被忽略。
- args
- Object[]
包含要调用的成员的参数数目、顺序和类型的对象数组。 如果没有参数,则这是一个空数组。
- modifiers
- ParameterModifier[]
一个 ParameterModifier 对象数组。
- culture
- CultureInfo
用于控制类型强制的 CultureInfo 的实例。
- namedParameters
- String[]
参数的字符串数组。
返回
指定的成员。
实现
例外
invokeAttr
是 CreateInstance 并且还设置了另一个位标志。
-或- invokeAttr
不是 CreateInstance,且 name 为 null
。
- 或 -
invokeAttr
不是来自 BindingFlags 的调用属性。
- 或 -
invokeAttr
为属性或字段同时指定 get 和 set。
- 或 -
invokeAttr
同时指定字段集和 Invoke 方法。提供 args
用于字段 get 操作。
- 或 -
为字段 set 操作指定了多个参数。
找不到此字段或属性。
找不到此方法。
在没有所需 ReflectionPermission 的情况下调用私有成员。
注解
invokeAttr
参数可以是构造函数、方法、属性或字段。 必须指定合适的调用属性。 通过将空字符串 ("") 作为成员的名称传递来调用类的默认成员。
该 modifiers
参数的长度与 args
参数相同,表示元数据中调用的成员的参数属性。 参数可以具有以下属性:pdIn、pdOut、pdRetval、pdOptional 和 pdHasDefault。 这些属性分别表示 [In]、[Out]、[retval]、[optional] 和默认参数。
此成员是显式接口成员的实现。 它只能在 AccessibleObject 实例被强制转换为 IReflect 接口时使用。