3.1C#语言的命名空间(Namespace)

1.命名空间声明

namespace PascalCase1.PascalCase2 
{
    //命名空间体
}

C# 10 中可使用文件范围的命名空间声明,一个文件中的所有类型都在一个命名空间中。文件范围的命名空间不能声明嵌套的命名空间或第二个文件范围的命名空间。

namespace PascalCase1.PascalCase2;

可以在两个或多个声明中定义一个命名空间。

namespace MyCompany.Proj1
{
    class MyClass
    {
    }
}

namespace MyCompany.Proj1
{
    class MyClass1
    {
    }
}

2.using指令

2.1导入其它命名空间的类型

//导入using指令所在的文件的所有类型
using PascalCase1.PascalCase2;
//导入项目的所有源文件的所有类型
global using PascalCase1.PascalCase2;
//导入using指令所在的文件的所有静态类型
using static PascalCase1.PascalCase2;
//导入项目的所有源文件的所有静态类型
global using static PascalCase1.PascalCase2;

2.2创建命名空间别名

namespace PC
{
    //创建别名
    using Project = PC.MyCompany.Project;
    class A
    {
        void M()
        {
            //使用别名
            var mc = new Project.MyClass();
        }
    }
    namespace MyCompany
    {
        namespace Project
        {
            public class MyClass { }
        }
    }
}

using 指令的声明中不能使用 using 别名。

using s = System.Text;
using s.RegularExpressions; // Generates a compiler error.

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/csharp/csharplang/7879.html

(0)
上一篇 2021年3月1日 02:40
下一篇 2021年3月2日 00:44

相关推荐

  • 1.1C#语言的注释(Comment)

    1.单行注释 2.多行注释 3.文档注释

    C#语言教程 2021年1月1日
    04840
  • 2.1C#语言的变量(Variable)

    1.变量声明和初始化 2.变量分类 x 是一个静态变量, y 它是一个实例变量,a 是一个值参数,b 是一个引用参数,c 是一个输出参数,v[0] 是一个数组元素,i 是一个局部变量。 2.1成员变量 名称 修饰符 静态变量 用 static 修饰 实例变量 —————— 2.2局部变量 …

    C#语言教程 2021年2月1日
    05340
  • 3.5C#引用类型之接口(Interface)

    1.接口声明 接口包含一组非抽象class或struct必须实现的相关功能的定义。 2.继承 接口 可以继承自多个基接口。 3.实现 3.1实现 类 或 结构 可以实现多个接口,实现接口的类或结构必须实现其所有未提供默认实现的成员并匹配接口中的成员签名,非必须重写实现具有默认实现的成员。 3.2默认实现 接口…

    C#语言教程 2021年3月5日
    06850

发表回复

登录后才能评论