繁体   English   中英

如何防止提供扩展方法的公共类出现在Intellisense中?

[英]How can I prevent a public class that provides extension methods from appearing in Intellisense?

有没有办法“隐藏”一个类的名称,其唯一目的是提供Intellisense的扩展方法?

我想从Intellisense列表中删除类名,但需要通过Intellisense以通常的方式将类的扩展方法用于外部程序集。

我希望您可以使用EditorBrowsable属性:

[EditorBrowsable(EditorBrowsableState.Never)]
static class MyExtensions { }

不幸的是,这似乎不起作用。

好的,我有答案。 Hallgrim建议用......标记课程

[EditorBrowsable(EditorBrowsableState.Never)]

..实际上是工作但只是在引用程序集的地方,而不是项目,就像在我自己​​的VS解决方案中编写提供类的程序集一样。 扩展方法照常提供。

你的意思是你想要隐藏类或扩展方法吗?

如果将静态类放在它自己的命名空间中,那么任何不使用using指令导入该命名空间的代码都不会“看到”扩展方法。

如果将扩展方法放在模块中,则会有一个名为HideModuleName的属性,该属性将隐藏模块名称以显示在Intellisense中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM