有没有人知道如何正确隐藏intellisense中的类,方法和属性,同时保留调用它们的能力;所以它们不出现在从类型库生成的互操作程序集中?
我正在编写用于自动化测试的API挂钩,我们不希望它们暴露给消费者。这似乎可以从我们的应用程序附带的内置SaxBasic编辑器中很好地工作,但是当引用添加到我们的互操作程序集时,无法隐藏对象,方法和属性。
以下是我试图隐藏这些内容的一个例子;已经尝试了各种排列,提前谢谢!
[
object,
uuid(guid),
helpstring("help"),
version(ver),
dual,
nonextensible,
oleautomation,
pointer_default(unique)
]IApplication.VisibleObj
interface IObj : IDispatch
{
//tried [hidden] here, no luck
[propget, id(91001), helpstring("Help str. Available as of Object Model Version X.X.X."), hidden]//again tried [hidden] here, no luck
HRESULT Obj([out, retval] IObj** ppObj);
}
答案 0 :(得分:4)
Visual Studio 2008和2010现在忽略了'hidden'属性,使隐藏的界面可以浏览。 似乎必须通过装饰以下类别,方法和属性来修改互操作程序集,这些类,方法和属性旨在存在但不可浏览:
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]