如何通过COM互操作在.NET对象上调用静态方法?

18

通过COM互操作,在.NET对象上调用静态方法是否可能?

我知道我可以编写一个包装类。如果我不想这样做怎么办?

1个回答

14

不,你不能这样做。COM互操作是通过对象而不是类型进行通信的。

我知道的解决方法...

  • 最好的解决方法是在实例上创建一个包装器方法来调用类型。是的,这仍然需要一个实例,所以它会失去一些作用,但这是你最好的选择。
  • 反向PInvoke:仍然需要将函数指针传递到C++层

我可以很简单地使用.NET 4.0和DLR魔法来完成这个任务,不是吗? - Cheeso
@Cheeso,不完全是这样。根据您的问题陈述,似乎您正在尝试找到一种从本地->托管代码调用的解决方案。DLR只能帮助您在托管代码中开始的情况下。 - JaredPar
啊,我得多学习一下。我还以为会有一些神奇的JavaScript到CLR集成出现呢。 - Cheeso

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接