我有以下项目:
CompanyName.SystemName.ProjectName
与它一起使用时,Using
它看起来像一个命名空间,但事实并非如此。
是的,C# 使用相同的语法 ( .
) 来表示:
+
是内部类型语法)然而,这通常根本不是问题......
您声称它不是命名空间,但我强烈怀疑它是. 默认情况下,当您创建新类时,Visual Studio 会从与项目名称和任何嵌套文件夹匹配的命名空间开始。因此,使用项目名称,CompanyName.SystemName.ProjectName
我希望新的 C# 文件看起来像:
using System; // etc
namespace CompanyName.SystemName.ProjectName
{
public class SomeClass
{
}
}
那时,CompanyName.SystemName.ProjectName
绝对是一个命名空间,我完全希望using
在代码中尝试使用SomeClass
.
是什么让您认为它不是命名空间?
只要是有效的文件名,您就可以以任何您喜欢的方式命名您的项目。通常项目名称与该项目的根命名空间匹配,但这不是硬性规则。
我更喜欢遵循该命名约定,因为它可以更轻松地导航解决方案(如果我知道名称空间,我就知道要在哪个项目中查找)并且它是 VS 中的默认设置。如果您希望默认命名空间与项目名称不同,则必须更改设置。默认情况下,ReSharper 会更进一步,并为项目的子文件夹强制执行命名约定。