“访问”;这";通过C#ComImport的COM参数
大多数com方法的签名如下所示:“访问”;这";通过C#ComImport的COM参数,c#,com,interop,C#,Com,Interop,大多数com方法的签名如下所示: STDMETHOD(someFunc) (THIS_ ParamType param) PURE; 通过ComImport将其转换为C#,如下所示: [PreserveSig()] int someFunc(MarshaledParamType param); 有什么方法可以在PInvoke签名中保留“THIS_”参数吗?这样我就可以做如下事情: int someFunc(IntPtr ptrToCOMInstance, MarshaledParamType
STDMETHOD(someFunc) (THIS_ ParamType param) PURE;
通过ComImport将其转换为C#,如下所示:
[PreserveSig()]
int someFunc(MarshaledParamType param);
有什么方法可以在PInvoke签名中保留“THIS_”参数吗?这样我就可以做如下事情:
int someFunc(IntPtr ptrToCOMInstance, MarshaledParamType param);
或
这是一个伪注释,表示传递给类方法的this指针。你既不在C++中也不在C语言中声明它,它没有显式地通过它。 但是请注意服务器和客户端之间的区别。在服务器中,使用this关键字恢复该指针。在客户机中,您拥有对象引用。例如:
Word.Application app = new Word.Application();
Word.Document doc = new Word.Document();
app和doc变量是您要查找的对象引用。这个内部Word实现应用程序和文档接口的价值。暂时忽略RCW的复杂性
Word.Application app = new Word.Application();
Word.Document doc = new Word.Document();