1
0
一般来说,不能。只能在这个COM接口和同一对象上的其他COM接口中获取方法。 |
2
0
这取决于你试图调用的未发布的方法是否有一个你无法看到的内部COM(或C++)实现。COM接口要求实现对象提供固定位置
对于本机COM库,COM vtable方案通常与运行时内部设置方式的二进制图像相对应。因为这些表是不可移动的,并且与理解良好的COM需求绑定在一起,所以不安全的托管代码可以浏览并找出如何处理任何事情。举例来说,您可以定义一个接口
请注意,如果要启用
此时,您需要声明一个托管委托,以便通过这个函数指针进行调用。因为
不管怎样,这一切都是有效的,甚至没有那么粗略或有争议;我们基本上只是在COM规范中建立良好的步行结构,就像CLR的默认封送处理代码一样。 现在说了这么多 ,如果您感兴趣的COM功能源于托管环境,如您所指出的可能是F,则上述功能很少或都不适用。托管运行时环境有机会在更复杂的基础上提供COM vTables,例如:
尽管我不确定这些点中的哪一点适用于您描述的情况,但似乎它们的某些或全部可能会因clr主机的实现细节而有所不同。不幸的是,主机部署这些优化中的任何一个都足以屏蔽上述vtable监听类型。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |