C# 名称空间 (逻辑组合)

与文件或组件不同,名称空间是一种逻辑组合, 而不是物理组合。 在c#文件中定义类时, 可以把它包括在名称空间定义中。

以后, 在定义另一个类时, 就可以在同一个名称空间中包含它, 创建一个逻辑组合,该组合告诉使用类的其他开发人员,这两个

类是如何相关的以及如何使用它们的:

namespace CustomerPhoneBookApp
{
    public struct Subvscriber
    {
        // Code for struct here...
    }
}

把一个类型放在名称空间中, 可以有效地给这个类型指定一个较长的名称, 该名称包括类型的名称空间, 名称空间之间用

句点(.) 隔开, 最后是类名。 在上面的例子中, Subscriber 结构的全名是 CustomerPhoneBookApp.Subscriber. 这样有相同

短名的不同类就可以在同一个程序中使用了。 全名常常称为完全限定的名称。

也可以在名称空间中嵌套其他命名空间, 为类型创建层次结构:

namespace Wrox
{
    namespace ProCSharp    
    {
        namespace Basics
        {
            class NamespaceExample
            {
                // Code for the class here...
            }
        }
    }
}

每个名称空间名都由它所在名称空间的名称组成, 这些名称用句点分隔开, 开头是最外层的名称空间, 最后是它自己的短名。

所以 ProCSharp 名称空间的全名是 Wrox.ProCSharp ,   

NamespaceExample 类的全名是 Wrox.ProCSharp.Basics.NamespaceExample 。

使用这个语法也可以在自己的名称空间定义中组织名称空间, 所以上面的代码也可以写为:

namespace Wrox.ProCSharp.Basics
{
    class NamespaceExample
    {
        // Code for the class here...    
    }
}

名称空间与程序集无关。 同一个程序集中可以有不同的名称空间, 也可以在不同的程序集中定义同一个名称空间中的类型。

应在开始一个项目之前就计划定义名称空间的层次结构。 一般可接受的格式是 CompanyName.ProjectName.SystemSection。

所以在上面的例子中, Wrox 是公司名, ProCSharp 是项目, 对于本章 Basics 是部分名。

发布了27 篇原创文章 · 获赞 0 · 访问量 154

猜你喜欢

转载自blog.csdn.net/weixin_39328209/article/details/105574040
今日推荐