在日常工作中,我在一个 VB6(我知道,但不要嘲笑受苦的......)应用程序上工作,该应用程序使用了我们编写的许多库(也在曾经杰出的 VB6 中)。其中一个支持库有大量通过公共属性公开的私有成员,我被要求删除这些属性,并将私有成员变量提升到与原始属性同名的公共字段中。
现在,我不是 COM 专家,但我的印象是类中的每个公开项目都有自己的 GUID。因为我们会从每个值从 2 个 Guid(Property Get 和 Property Let)变成一个他们只使用一个(公共字段)的情况,我期待这会破坏二进制兼容性 - 但它似乎没有没那么做。
谁能解释为什么?