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

news/2024/7/9 23:40:41 标签: nginx, 负载均衡, 运维

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

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

全局using指令

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

global using System;

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

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

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

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

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

global using *** 需要放到所有引用前

隐式usings

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

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

 <ImplicitUsings>enable</ImplicitUsings>

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

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

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

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

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

  1. Combining using功能

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

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

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

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

内容参考:周国庆


http://www.niftyadmin.cn/n/1618500.html

相关文章

python的数学运算_python 数学运算

python 标准库中提供了专门用于数学运算的 math 模块&#xff0c;常用的计算主要有两部分&#xff0c;一部分是简单的基本运算(如加减乘除等)&#xff0c;另一部分是借助 math 和 cmath 等模块的数学函数进行相对复杂的计算&#xff0c;其中 math 针对浮点数等的数学计算&#…

Linux安装部署Sql Server

首先下载 Microsoft SQL Server 2019 Red Hat repository配置文件 我安装的是 For RHEL8 curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo 【For RHEL7】&#xff1a;curl -o /etc/yum.repos.d/mssql-ser…

m3u8地址_[LOG]提取虎牙直播间地址转成直播源*.m3u8

0x00其他直播平台也是类似操作。首先在虎牙随便找个直播间&#xff0c;这里找的是这个。0x01打开直播间&#xff0c;在页面空白处&#xff0c;右键选[查看源代码]&#xff1a;在该页面&#xff0c;CtrlF&#xff0c;输入[sHlsUrl]&#xff0c;回车&#xff1a;找到三个服务器地…

生成条形码二维码DataMatrix条码.EAN码.39码.交叉25码.UPC码.128码.93码.ISBN码.Codabar等

1.引用Spire.Barcode 在Nuget包中安装Spire.Barcode 2.生成条形码 //创建 BarcodeSettings对象BarcodeSettings settings new BarcodeSettings();//设置条形类型为EAN-13settings.Type BarCodeType.EAN13;//设置条形码数据settings.Data "58465157484";//使用校…

二分图带权最大匹配费用流_EdmondKarp 最大流算法详解

知识梳理在「初识最大流问题」中&#xff0c;我们了解了什么是流网络模型、什么是最大流问题、以及在流网络中 的增广路(Augmenting Path)概念&#xff1b;在「Ford-Fulkerson 最大流求解方法」中&#xff0c;我们学习了 Ford-Fulkerson 的最大流问题求解方法和思路&#xff1a…

再也不用写请求HttpHelper了,HttpClient帮助你

前言 在C#7.1之后,net推出HttpClient类代替WebRequest, HttpWebRequest, ServicePoint, and WebClient &#xff0c;先来看下他们在以前的作用 HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的一种方式ServicePoint提供 HTTP 连接的连接管理WebClient 提供用于…

python写接口测试脚本入门_python接口测试入门1-什么是接口测试

为什么要做接口测试在日常开发过程中&#xff0c;有人做前端开发&#xff0c;有人负责后端开发。接口就是连接前后台&#xff0c;由于前端开发和后端开发的速度可能不一样&#xff0c;例如后端开发好了&#xff0c;但是前端没有开发。那么我们是不是就不需要测试呢&#xff1f;…

C#照片合成PDF_ PDF合成或拆分PDF_PDF获取页数

需求 照片合成PDF PDF合成或拆分PDF PDF获取页数 解决方法 可以利用iTextsharp解决PDF中的问题 在Nuget包中引用iTextsharp 代码 using iTextSharp.text; using iTextSharp.text.pdf; using System; using System.Collections.Generic; using System.IO;namespace XXXX …