3

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

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

4

4 回答 4

2

我希望您可以使用 EditorBrowsable 属性来做到这一点:

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

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

于 2008-11-17T10:56:22.977 回答
2

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

[EditorBrowsable(EditorBrowsableState.Never)]

..确实有效,但仅在引用程序集而不是项目的地方起作用,就像我自己的 VS 解决方案在编写提供类的程序集时的情况一样。扩展方法照常可用。

于 2008-11-17T12:02:05.903 回答
1

您的意思是要隐藏类还是扩展方法?

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

于 2008-11-17T10:45:00.473 回答
0

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

于 2008-11-17T11:08:06.837 回答