C#:为什么我不能创建系统命名空间?

5Yr*_*DBA 5 c#

我记得几周前,当我重新编写代码并在我们的项目中创建了一些命名空间时,我收到了错误,系统不允许我创建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)

Rob*_*Rob 5

下面的代码编译并运行,所以我认为你需要给我们更多的细节,因为没有理由你不能创建一个名称空间,就像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)

  • 对,你必须说:global :: System.IO.File (3认同)

Zyp*_*rax 5

您遇到了命名空间冲突.

如果您命名命名空间System的最后一部分,则编译器将很难确定您是在引用当前级别的(Microsoft)System命名空间还是内部System命名空间(或者甚至是System类或属性或...).

您将遇到类名和命名空间部分的相同问题.出于同样的原因,您无法创建名为System的类.

除非您想为所有实例指定完整的命名空间.