C#10新特性-全局和隐式usings
.NET 6发布后支持C#10,C# 10 向 C# 语言添加了很多功能,今天我们分享一下全局和隐式usings的使用:
using 指令简化了使用命名空间的方式。 C# 10 包括一个新的全局 using 指令和隐式 usings,以减少需要在每个文件顶部指定的 usings 数量。
1. 全局using指令
如果关键字 global 出现在 using 指令之前,则 using 适用于整个项目,即实现了项目级的统一using
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
最新文章
- erlang 健壮性
- Quartz.net 开源job调度框架(一)
- ZooKeeper学习总结 第二篇:ZooKeeper深入探讨(转载)
- python常用工具小函数-字符类型转换
- Python入门笔记(13):列表解析
- web网页的表单排版利器--960css
- IE的@cc_on条件编译
- 一份React-Native学习指南-感谢分享
- libvirt hypervisors信息采集
- .net 开发必备小抄(电子书)
- 【Java框架型项目从入门到装逼】第三节 - 如何用Tomcat发布web项目?
- Webhook 实践 —— 自动部署
- IIS 请求 超时设置
- Linux 网卡Bond模式
- centos-6.5安装部署LNMP环境
- c语言-遍历pci设备(1)io访问
- [学习笔记]编译sensetime发表的Single View Stereo Matching(SVS)遇到的问题
- Android 升级脚本updater-script 的函数简单介绍
- 20155302 2016-2017-2 《Java程序设计》第十周学习总结
- 21-从零玩转JavaWeb-多态详解