C# 命名空间问题

标签 c#

下面两种定义命名空间的方式有什么区别?

namespace A.B.C {
     public class AA{

    }
}

namespace A {
    namespace B{
        namesapce C{
            public class AA{

            }
        }
    }
}

在某些地方我可能有

namespace A{
//some classes 
}

namespace A.B {
//some classes
}

namespace A {
namespace B {
 //some classes
}
}

两者都需要做同样的事情才能通过 using A.B.C; 使用类 AA 我可以使用 C.AA a; 在 C 命名空间中指定 AA 类吗?使用 fall 命名空间约定:A.B.C.AA a; 以避免可能的冲突?

最佳答案

它们是一样的。如果您查看 .NET Reflector 中的这段代码:

namespace A {
namespace B{
namespace C{
public class AA{

}
}
}
}

你明白了:

namespace A.B.C
{
    public class AA
    {
        // Methods
        public AA();
    }
}

两种方法都被编译成完全相同的中间语言代码。

关于C# 命名空间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2241129/

相关文章:

c# - Redis Server 失败,Socket 失败,超出输出缓冲区限制,我该如何增加限制?

c# - 协变和逆变

c# - 如何创建可点击的标签

c# - 派生类无法使用 PropertyDescriptorCollection.SetValue 访问 protected setter

C# - 划分列表的优雅方式?

c# - 识别 Azure ACS 中的角色

c# - 我需要使用继承来实现 C# 深拷贝构造函数。有哪些图案可供选择?

C# MySQLParameters.AddWithValue

c# - 日期时间。现在在同事的计算机上关闭一个小时

c# - 如何使用大量行的插入功能测试 Entity Framework Core 数据库作为 InMemory