【问题标题】:C# class in a directory without having the directory name in its namespace目录中的 C# 类,但其命名空间中没有目录名称
【发布时间】:2011-02-20 19:14:59
【问题描述】:
如果您在 Visual Studio 项目中添加目录并在其中添加 class,则 namespace 将尊重整个路径包括目录。
但有时,我更喜欢将类放在主项目命名空间中,尽管它位于目录结构中,只是因为我不想让我的代码混乱。
我经常将Myproject.MyDirectory 命名空间重写为Myproject。
你觉得可以吗?还是有什么约定说目录中的每个类都必须包含在命名空间中?
谢谢
【问题讨论】:
标签:
c#
visual-studio
class
directory
namespaces
【解决方案1】:
没有任何约定限制您尝试执行的操作。我的项目中通常有多个目录来组织类文件并使用不同的命名空间,而不考虑目录结构,我没有任何问题。
【解决方案2】:
在我看来,文件夹和命名空间有不同的用途。
文件夹有助于为阅读您的代码的人提供清晰的层次结构
命名空间有助于为使用您的代码的人提供清晰的层次结构。例如。在他们看不到实际源代码时调用您的代码提供的 API。
因此,不一致是完全可以的,只要每个都有意义。
【解决方案3】:
没有限制,但有些人认为命名空间与路径相同很有用。因此,您可以选择任何命名空间并将类文件放置在您想要的任何位置。