【问题标题】:Hide Member Without Using Underscore隐藏成员而不使用下划线
【发布时间】:2010-09-08 01:06:15
【问题描述】:

我有一个用 VB.Net 编写的类,通过 ComClass 和 ComVisible 属性暴露给 COM。然后通过 TLB 使该类对 VBA 可用。在 VB6 中,您可以轻松地标记隐藏在对象浏览器中的成员,但仍然可以使用复选标记。在 VB.Net 中,我发现使成员隐藏 VBA 对象浏览器的唯一方法是在名称前加上下划线。

有没有办法隐藏成员而不加下划线?

【问题讨论】:

    标签: vb.net com vb6


    【解决方案1】:

    您可以查看 System.ComponentModel 命名空间中的 BrowsableAttribute。通常这会对智能感知隐藏属性或方法,但它也可能适用于 COM。

    我自己不使用 COM,所以无法真正测试它。

    http://msdn.microsoft.com/en-us/library/system.componentmodel.browsableattribute.aspx

    【讨论】:

    • +1 因为这似乎值得一试。我不确定它是否会起作用。
    【解决方案2】:

    我能想到的唯一方法是手动编辑由 Tlbexp/Regasm 创建的类型库(使用 Oleview 和 Midl 等工具)并将 [hidden] IDL 属性添加到方法中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-20
      • 2012-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-27
      相关资源
      最近更新 更多