c#10中的namespace

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#10中的namespace相关的知识,希望对你有一定的参考价值。

A、namespace是c#用来管理类型隔离的关键字,在不同的namespace下可以相同名称的类型,并且namespace是可以嵌套的。

Demo01.cs

namespace NameSpaceDemo
{
    internal class Demo01Class
    {  
    }
    namespace NSDemo01
    {
        internal class Demo01Class
        {
        }
    }
    namespace NSDemo02
    {
        internal class Demo01Class
        {
        }
    }
}

B、C#10.0后,带了文件范围内的namespace,如下,这时,就只能用一个namespace的定义了

Demo02.cs

namespace NameSpaceDemo2;
class Demo02Class
{
}
/*错误
namespace NameSpaceDemo3;
class Demo03
{
}
*/

文件范围namespace可以与区块范围的namespace进行切换。需要项目中添加.editorconfig

这时,就可以在namespace上进行切换了

C、再有就是同时也带来了全局namespace

Demo03.cs

namespace NameSpaceDemo3;
internal class Demo03Class
{
}

定义一个文件,来表明所有全局namespace

GlobalUsing.cs

global using NameSpaceDemo3;
global using static System.Console;

所有定义完的global namesapce,可以在任意项目文件中使用其中的类型

Program.cs

//1、嵌套namespace
var demo01Class = new NameSpaceDemo.Demo01Class();
var demo01Class1 = new NameSpaceDemo.NSDemo01.Demo01Class();
var demo01Class2 = new NameSpaceDemo.NSDemo02.Demo01Class();
//2、文件内namespace
var demo02class = new NameSpaceDemo2.Demo02Class();
//3、全局namespace
var demo03class = new Demo03Class();
WriteLine("using global Demo03Class");

以上是关于c#10中的namespace的主要内容,如果未能解决你的问题,请参考以下文章

如何优化C ++代码的以下片段 - 卷中的零交叉

latex在vim中的代码片段

02C++namespace命名空间

1 代码片段1

需要示例代码片段帮助

spring 参考文档中的 C-namespace 部分