如何防止提供扩展方法的公共类出现在Intellisense中?
-
08-07-2019 - |
题
有没有办法'隐藏'一个类的名称,其唯一的目的是提供Intellisense的扩展方法?
我想从Intellisense列表中删除类名,但需要通过Intellisense以常规方式将类的扩展方法用于外部程序集。
解决方案
好的,我有答案。 Hallgrim建议用......标记班级。
[EditorBrowsable(EditorBrowsableState.Never)]
..确实可以工作,但只能在程序集被引用的地方,而不是项目,就像我自己的VS解决方案在编写提供类的程序集时的情况一样。扩展方法可以照常使用。
其他提示
我希望你可以使用EditorBrowsable属性:
[EditorBrowsable(EditorBrowsableState.Never)]
static class MyExtensions { }
不幸的是,这似乎不起作用。
您的意思是想要隐藏课程或扩展方法吗?
如果将静态类放在自己的命名空间中,那么任何不使用using指令导入该命名空间的代码都不会<!>;请参阅<!> quot;扩展方法。
如果将扩展方法放在模块中,则会有一个名为HideModuleName的属性,该属性将隐藏模块名称以显示在Intellisense中。
不隶属于 StackOverflow