_MethodInfo.Invoke 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为 COM 对象提供对 Invoke 方法的与版本无关的访问。
重载
Invoke(Object, Object[]) |
为 COM 对象提供对 Invoke(Object, Object[]) 方法的与版本无关的访问。 |
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
为 COM 对象提供对 Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) 方法的与版本无关的访问。 |
Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
提供对某一对象公开的属性和方法的访问。 |
注解
此方法用于从非托管代码访问托管类,不应从托管代码调用。
方法 Invoke 调用由具有指定参数的实例反映的构造函数。
Invoke(Object, Object[])
为 COM 对象提供对 Invoke(Object, Object[]) 方法的与版本无关的访问。
public:
System::Object ^ Invoke(System::Object ^ obj, cli::array <System::Object ^> ^ parameters);
public object Invoke (object obj, object[] parameters);
abstract member Invoke : obj * obj[] -> obj
Public Function Invoke (obj As Object, parameters As Object()) As Object
参数
- obj
- Object
创建了此方法的实例。
- parameters
- Object[]
调用方法或构造函数的参数列表。 此对象数组在数量、顺序和类型方面与要调用的方法或构造函数的参数相同。 如果不存在任何参数,则 parameters
应为 null
。
如果此实例表示的方法或构造函数采用 ref
(在 Visual Basic 中为 ByRef
)参数,则使用此函数调用该方法或构造函数时,该参数不需要特殊的特性。 此数组中未使用值显式初始化的任何对象都将包含该对象类型的默认值。 对于引用类型元素,此值为 null
。 对于值类型元素,此值为 0、0.0 或 false
,具体取决于特定的元素类型。
返回
与构造函数关联的类的实例。
注解
方法 Invoke 使用指定的参数调用由此对象表示的方法或构造函数。
适用于
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
为 COM 对象提供对 Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) 方法的与版本无关的访问。
public:
System::Object ^ Invoke(System::Object ^ obj, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public object Invoke (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
abstract member Invoke : obj * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public Function Invoke (obj As Object, invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
参数
- obj
- Object
创建了此方法的实例。
- invokeAttr
- BindingFlags
指定绑定类型的 BindingFlags
值之一。
- binder
- Binder
一个 Binder
,它定义一组属性并通过反射来启用绑定、自变量类型强制转换和成员调用。 如果 binder
为 null
,则使用 Binder.DefaultBinding
。
- parameters
- Object[]
Object
类型的数组,该类型用于在 binder
的约束下匹配此构造函数的参数的个数、顺序和类型。 如果此构造函数不需要参数,则传递包含零个元素的数组,如 中所示 Object[] parameters = new Object[0]
。 此数组中未使用值显式初始化的任何对象都将包含该对象类型的默认值。 对于引用类型元素,此值为 null
。 对于值类型元素,此值为 0、0.0 或 false
,具体取决于特定的元素类型。
- culture
- CultureInfo
用于控制类型强制的 CultureInfo 对象。 如果这是 null
,则使用当前线程的 CultureInfo。
返回
与构造函数关联的类的实例。
注解
此方法用于从非托管代码访问托管类,不应从托管代码调用。
方法 Invoke 在指定对象的约束下,使用指定的参数调用此 ConstructorInfo 对象反映的 Binder 构造函数。
适用于
Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)
提供对某一对象公开的属性和方法的访问。
public:
void Invoke(System::UInt32 dispIdMember, Guid % riid, System::UInt32 lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
public void Invoke (uint dispIdMember, ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
abstract member Invoke : uint32 * Guid * uint32 * int16 * nativeint * nativeint * nativeint * nativeint -> unit
Public Sub Invoke (dispIdMember As UInteger, ByRef riid As Guid, lcid As UInteger, wFlags As Short, pDispParams As IntPtr, pVarResult As IntPtr, pExcepInfo As IntPtr, puArgErr As IntPtr)
参数
- dispIdMember
- UInt32
成员的标识符。
- riid
- Guid
留待将来使用。 必须为 IID_NULL。
- lcid
- UInt32
要在其中解释自变量的区域设置上下文。
- wFlags
- Int16
描述调用的上下文的标志。
- pDispParams
-
IntPtr
nativeint
指向一个结构的指针,该结构包含一个自变量数组、一个命名自变量的 DISPID 自变量数组和数组中元素数的计数。
- pVarResult
-
IntPtr
nativeint
指向结果存储位置的指针。
- pExcepInfo
-
IntPtr
nativeint
指向一个包含异常信息的结构的指针。
- puArgErr
-
IntPtr
nativeint
第一个出错参数的索引。
注解
此方法用于从非托管代码访问托管类,不应从托管代码调用。 有关详细信息,请参阅 IDispatch::Invoke。