C#11新特性file关键字有毛用?

file关键字是C#11的一个新特征,它是C#一个新的修饰符,可以应用于任何类型定义以限制其只能在当前文件中使用,通俗讲就是只能在当前文件中使用。C#已经有那么多修饰符,那么file关键字有毛用?貌似使用private也可以在当前文件中使用吗?其实不然,我们首先用案例看看它的使用。

    这新建一个file1.cs文件,代码如下:.

    file class Files1    {        public static void GetHolle(string name)        {            Console.WriteLine($"你好{name}!");        }    }    internal static class CallFun    {        public static void CallGetHolle(string name)=> Files1.GetHolle(name);    }

调用:

using ConsoleApp1;CallFun.CallGetHolle("唐玄宗");

C#11新特性file关键字有毛用?

这时候通过第三方的方式还是可以调用的,看出了它的奥秘了吧。也就是它可以在本文件中由本文件的它类调用。

使用注意事项

1、file不可以与其他修饰符一起使用

2、file 不可修饰的类型:file修饰符不适用于嵌套在父类型中的类型。它也不适用于方法属性、事件和字段,但语言设计说明解释说:“为非类型文件范围的成员留出设计空间,以便以后出现。”

3、file 可以有一个或多个同名类:在一个项目中,可以有一个internal级别类,同时可以拥有一个或多个file级别的同名类。唯一的缺点是文件类不能在公共类中使用。

结语

本文讲述了file关键字的简单使用,建议大家使用时注意file的作用域,感觉没有屌用啊。大家觉得file关键字有用吗?作用大吗?欢迎留言讨论。