• C#10新特性-全局和隐式usings


    .NET 6发布后支持C#10,C# 10 向 C# 语言添加了很多功能,今天我们分享一下全局和隐式usings的使用:

    using 指令简化了使用命名空间的方式。 C# 10 包括一个新的全局 using 指令和隐式 usings,以减少需要在每个文件顶部指定的 usings 数量。

    1. 全局using指令

    如果关键字 global 出现在 using 指令之前,则 using 适用于整个项目,即实现了项目级的统一using

    1
    global using System;

    可以在全局 using 指令中使用 using 的任何功能。

    例如,添加静态导入类型并使该类型的成员和嵌套类型在整个项目中可用。

    如果在 using 指令中使用别名,该别名也会影响整个项目:

    可以将全局使用放在任何 .cs 文件中,包括 Program.cs 或专门命名的文件,如 globalusings.cs。 

    全局usings的范围是当前编译,一般对应当前项目。

    2. 隐式usings

    隐式usings功能会自动在构建的项目类型添加通用的全局using指令。

    要启用隐式usings,请在 .csproj 文件中设置 ImplicitUsings 属性:

    在新的 .NET 6 模板中启用了隐式usings。

    自动生成不可见的 using 语句并在全局范围内声明它们,因此不必处理在每个文件中重复声明命名空间的混乱。

    我们新建了一个.NET 6 Web工程,MyMinimalAPI

     dotnet build后,找到obj/Debug/net6.0 文件夹以查看隐藏的自动生成文件 - [ProjectName].GlobalUsings.g.cs。使用一个单独的类来将所有 using 语句保存在一个地方。

    启用了这个隐式using之后,我们在任何class中,都无需再重复声明using引用了,代码更简洁、更方便

    3. Combining using功能

    文件顶部的传统 using 指令、全局 using 指令和隐式 using 可以很好地协同工作。

    隐式using允许您在项目文件中包含适合当前项目类型的 .NET 命名空间。

    全局 using 指令允许包含其他命名空间,以使它们在整个项目中可用。

    代码文件顶部的 using 指令允许包含项目中仅少数文件使用的命名空间。

     

    简单分享这个C# 10小特性。

     

    周国庆

    2022/3/7

     

     

     

     
  • 相关阅读:
    批处理入门
    在dockerfile中添加nodejs环境
    centos7 环境安装 PM2 管理 node
    OpenDataV低代码平台增加自定义属性编辑
    物联网电气融合实训室建设方案
    python电影数据可视化分析系统的设计与实现【附源码】
    【迅搜01】安装运行并测试XunSearch
    6.1_6 Python3.x入门 P6 【字符串格式化】四种方式(手动、%-formatting、str.format()、f-String)
    使用 conda 在 Ubuntu 16.04 上安装 Python 3.9 的步骤:和 VSCode配置
    开发公众号怎么选择公司
  • 原文地址:https://www.cnblogs.com/tianqing/p/15978489.html