佚名通过本文主要向大家介绍了
接口相互引用怎么办?等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 接口 相互引用 怎么办?
描述:
解决方案1:
描述:
接口 1 的一个 函数 要 用 到 接口2 的 指针 ,
接口2 的一个函数 要用到 接口1 的指针 ,
接口2 和 接口 1 都在同一个 IDL 文件中 ,这种 相互引用 怎么解决 ?
解决方案1:
部分同意newkey007(无限天空) 和top_hipster(top_hipster) 所说的实现办法!
另可见《COM本质论>>.
//////////////////////
改用传IID吧!
在函数内部在QueryInerface
也是一种方法。
/////////////////////////
还有一个办法就是类似于C++中的void*的做法,互相传IUNKOWN来变通一下。
/////////////////////////
COM的初学者,随便说说。
不过我觉得,人们要用COM的理由就是去掉过多的耦合,尤其是去循环依赖(COM设计者就是依据这个想法来构造COM的)。你这样写也许可以有各种方法实现,但在设计方案的时候已经先输掉了一大块。——因为你这个恰恰就是一个循环依赖。我认为最好的办法是改进你的设计先。
是否可以象类的声明一样,先声明一次
interface A2;
interface A1{
}
interface A2{
}
同意newkey007(无限天空) 和top_hipster(top_hipster) 所说!