假设我有一个通过 Activator.CreateInstance 实例化的 COM 对象:
object obj = Activator.CreateInstance(myGuid);
现在,我知道这个对象有一个接受 int* 作为参数的函数:
virtual void Method(int * outParameter) = 0;
此方法只是将一个整数写入 outParameter。在 C++ 中,我会这样做:
int parameter = 0;
obj->Method(¶meter);
// parameter now contains the result.
如何通过 MethodInfo.Invoke 在 C# 中进行等效操作?
MethodInfo method = obj.GetType().GetMethod("Method", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
method.Invoke(obj, ???); // What do I put here?