接口(interface)名称末尾的数字是什么意思?我看到 IHTMLDocument3-7
没有成员 ( see example for #5 ),而 8
有与手势相关的成员。数字是从 Windows 版本派生的吗?
最佳答案
这是公共(public) COM 接口(interface)的一般特性。
如果你想要向后兼容,你永远不想更改已发布的界面,因为这意味着人们为 IE 6 编写的所有代码都停止与 IE 7 一起工作,并且他们的所有客户都会生他们的气,并且他们生你的气。
因此,如果 IE 5 添加了需要公开的新功能,而不是更改 IHTMLDocument
,您将创建一个新界面,并使 IE5 支持两者(通过继承,QueryInterface
,或一些更明确的机制)。当 IE 7.0.2 或 IE 8 或 Win XP 或任何添加更多新功能时,您将创建另一个。等等。
虽然 MS 可以提出描述性后缀而不仅仅是序列号,但这可能会造成混淆而不是帮助。因此,IHTMLDocument2
、IHTMLDocument3
等都是名称。除了添加它们的顺序之外,它们没有任何意义。
关于c++ - 为什么 Microsoft 有 IHTMLDocument、IHTMLDocument2、...、IHTMLDocument8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14108640/