【发布时间】:2017-04-30 23:07:53
【问题描述】:
有没有办法在 VBA 中自己构建的 COM 类中获取 IntelliSense?
例如在下面的示例中,每当我按下点(或 ctrl+空格作为快捷键)时,我都希望显示“数字”:
我想,如果以某种方式解决了这个问题,我还会在这里获得一些关于对象的公共功能的信息:
那么,有什么建议呢?
建议一:
【问题讨论】:
-
你见过this?。
-
问题是
how,在我的情况下它根本不显示。 -
转到 VBA 中的对象浏览器,然后右键单击成员窗格并选择“显示隐藏的成员”。然后,您应该能够在对象浏览器中看到所有成员,并且您将在代码窗格中获得 Intellisense。
-
谢谢,我做到了,但是没有用。 (请参阅更新后的问题以获取屏幕截图)
-
属性不足。公开一个类通常不是一个好主意,像 GetType()、MemberwiseClone() 这样的继承成员没有用,并且拖累了对 .NET 框架类的类型库的依赖。所以默认的[ClassInterface]是ClassInterfaceType.AutoDispatch。它仅支持后期绑定(慢速)并且不支持 IntelliSense。您要求 ClassInterfaceType.AutoDual。暴露一个接口更好,隐藏继承的成员并且是COM方式并允许ClassInterfaceType.None
标签: c# vba visual-studio com intellisense