C#使用NamesSpaces

Iva*_*ael 1 c# types namespaces class

File 1
namespace ivandro.ismael.gomes
{
    class MyClass1
    {
        MyClass obj = new MyClass();
    }
}
File 2
namespace ivandro.ismael
{
    class MyClass
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:不用说MyClass就可以看到但如果你说,只有里面的类型可见而不是里面的类型你知道为什么吗?!MyClass1ivandro.ismaelusing System.TextSystem.TextSystem

Sco*_*ain 7

这是因为namespace块内的代码与仅仅放置using语句的行为不同.您可以将MyClass1代码可视化,如下所示.

namespace ivandro
{   
    namepace ismael
    {
        namepsace gomes
        {    
             class MyClass1
             {
                 MyClass obj = new MyClass();
             }
        }           
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,当您在命名空间内时,还包括导致该命名空间的所有级别.

  • @ShlomiBorovitz感谢您的澄清,我已经更新了答案. (2认同)