C# 11 和 C# 12 新特性深度解析
1. C# 11 新特性
1.1 文件局部类型(File-local types)
文件修饰符 file 可将顶级类型的作用域和可见性限制在声明它的文件内。通常,该修饰符用于源生成器生成的类型,可避免生成类型之间的名称冲突。
file class ConfidentialComponent
{
// implementation
}
嵌套在文件局部类型中的类型同样只能在声明它的文件内可见。程序集中的其他类型可以与文件局部类型同名而不会产生命名冲突。文件局部类型不能作为作用域比文件范围更广的成员的返回类型或参数类型,也不能作为可见性超出文件范围的类型的字段成员。不过,可见性更高的类型可以隐式实现文件局部接口类型。
// In CustomFile.cs:
file interface ICustomFeature
{
int OfferSolution();
}
file class RestrictedComponent
{
public int PerformTask() => 42;
}
public class SpecialWidget : ICustomFeature
{
public int OfferSolution()
{
var performer = new RestrictedComponent();
return per
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



