【发布时间】:2011-04-19 13:45:23
【问题描述】:
我正在编写一个包含纯内部成员的类的类库。我将这些划分为名称空间。这些内部类中没有公共或受保护的成员。
问题是,当我在客户端应用程序中使用这个类库时,这些命名空间会出现在智能感知上。当然,它们不包含可访问的项目,所以它就结束了,但我担心这可能会使图书馆的用户感到困惑
示例:
在外部使用时,intellisense 将显示:mynamespace.yournamespace 但不提供任何成员(因为它们是内部的)。
那么问题来了,有没有办法阻止那些内部类出现在智能感知中,或者我只是什么都不担心?或者......如果它是内部的,它甚至需要自己的命名空间吗?
任何帮助表示赞赏
(在How can I prevent a public class that provides extension methods from appearing in Intellisense? 有一个类似的帖子,但没有定论。)
【问题讨论】:
-
没有什么“需要”命名空间。您可以完全省略命名空间,这会将内容放入没有名称的“默认”命名空间中。因此,内部类是否需要命名空间是最佳实践的问题 - 该语言当然允许您不需要命名空间。
-
感谢您的意见。我想这也是(隐含的)问题的一部分......也许只是将所有这些东西转储到根或“空白”命名空间是最好的方法
标签: c# namespaces usability class-library