<分区>
例如,我将我的文件(控制台应用程序)命名为'Hello',那么我是否必须写命名空间Hello?如果不是,添加命名空间的目的是什么?
标签 c#
<分区>
例如,我将我的文件(控制台应用程序)命名为'Hello',那么我是否必须写命名空间Hello?如果不是,添加命名空间的目的是什么?
最佳答案
不,命名空间可以是任何东西,它们不必与文件名相同。最好让命名空间对应于物理文件路径(解决方案中的文件夹)。
因此,如果您在 .\Interfaces\ViewModels\Client
中有一个文件,通常该文件中的 namespace 声明为:
namespace DefaultNamespaceOfAssembly.Interfaces.ViewModels.Client { ... }
ReSharper 甚至提供修复违反此规则的命名空间。
命名空间
的目的是
通过将同属一类的东西(例如按功能)放在同一个命名空间中来模块化您的代码,
减少名称冲突。在没有命名空间的情况下,如果外部库包含与您自己代码中的类同名的类,那么导入外部库将导致 hell 。
可能还有更多,但一开始想到的是这些,虽然这两个应该已经足以证明它们的存在了。
关于c# - 命名空间是否必须是 c# 中的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35392650/