我记得几周前,当我重新编写代码并在我们的项目中创建了一些命名空间时,我收到了错误,系统不允许我创建companyName.projectName.System命名空间,我不得不将其更改为companyName.projectName.Systeminfo.我不知道为什么.我知道有一个System名称空间,但事实并非如此companyName.projectName.System.我认为A.B.C命名空间应该与A.A.C命名空间不同.对?
编辑
我得到的错误就像这样:
Error 7 The type or namespace name 'Windows' does not exist in the namespace 'MyCompany.SystemSoftware.System' (are you missing an assembly reference?) C:\workspace\SystemSoftware\SystemSoftware\obj\Release\src\startup\App.g.cs 39 39 SystemSoftware
Run Code Online (Sandbox Code Playgroud)
下面的代码编译并运行,所以我认为你需要给我们更多的细节,因为没有理由你不能创建一个名称空间,就像companyName.projectName.System我所知道的那样.
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var x = new ConsoleApplication1.Project.System.Something();
}
}
}
namespace ConsoleApplication1.Project.System
{
public class Something
{
}
}
Run Code Online (Sandbox Code Playgroud)
您遇到了命名空间冲突.
如果您命名命名空间System的最后一部分,则编译器将很难确定您是在引用当前级别的(Microsoft)System命名空间还是内部System命名空间(或者甚至是System类或属性或...).
您将遇到类名和命名空间部分的相同问题.出于同样的原因,您无法创建名为System的类.
除非您想为所有实例指定完整的命名空间.