4、C 11 和 C 12 新特性深度解析

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值