.NET 6 即将到来的新特性  隐式命名空间引用

 更新时间:2021-11-14 13:55:21   作者:佚名   我要评论(0)

目录1、Sample2、How it works3、More前言:


今天看到一个更新,可以不需要写 using了,目前还没有正式发布,应该要到 .NET 6 Preview 7

前言:

今天看到一个更新,可以不需要写 using了,目前还没有正式发布,应该要到 .NET 6 Preview 7 才会支持。

1、Sample

我们以 Minimal API 为例子

示例:

using Microsoft.AspNetCore.Builder;

var app = WebApplication.Create(args);
app.Map("/", () => "Hello World");
app.Run();

或者结合 global using 之后把 using 放在一个单独的 Imports 文件中,

Imports:

@global using Microsoft.AspNetCore.Builder;


Program:

var app = WebApplication.Create(args);
app.Map("/", () => "Hello World");
app.Run();


在 .NET 6 Preview 7 中,我们将不需要再加 using 了,Preview 7 会包含一个新的特性——“隐式命名空间引用”,这个特性将会默认为你的项目添加常用的命名空间,我们就可以不再需要上面的 Imports

2、How it works

它的实现方式也是基于之前的 global using 特性来实现的,编译器会根据 MS Build 中配置的命名空间生成一个 global using 的文件,就像上面的 Imports

目前针对不同的 SDK 类型会添加不同的默认 namespace,目前已有的如下:

针对 Microsoft.NET.Sdk,默认的命名空间如下:

System
System.Collections.Generic
System.IO
System.Linq
System.Net.Http
System.Threading
System.Threading.Tasks


针对 Microsoft.NET.Sdk.Web

System.Net.Http.Json
Microsoft.AspNetCore.Builder
Microsoft.AspNetCore.Hosting
Microsoft.AspNetCore.Http
Microsoft.AspNetCore.Routing
Microsoft.Extensions.Configuration
Microsoft.Extensions.DependencyInjection
Microsoft.Extensions.Hosting
Microsoft.Extensions.Logging


针对 Microsoft.NET.Sdk.Worker

Microsoft.Extensions.Configuration
Microsoft.Extensions.DependencyInjection
Microsoft.Extensions.Hosting
Microsoft.Extensions.Logging


如果你想禁用隐式命名空间引用,可以通过 DisableImplicitNamespaceImports 来完全禁用这个功能

<DisableImplicitNamespaceImports>true</DisableImplicitNamespaceImports>


如果你只是想禁用针对 Microsoft.NET.Sdk.Web 的引用则可以配置 DisableImplicitNamespaceImports_Web

<DisableImplicitNamespaceImports_Web>true</DisableImplicitNamespaceImports_Web>


配置对应关系: 

SDK PropertyName
Microsoft.NET.Sdk DisableImplicitNamespaceImports_DotNet
Microsoft.NET.Sdk.Web DisableImplicitNamespaceImports_Web
Microsoft.NET.Sdk.Worker DisableImplicitNamespaceImports_Worker

后面应该会有更多的支持,具体还是要以最终 .NET6 正式发布时为准

我们也可以为我们的 library 启用 global using 的功能,这样在使用的时候也可以不加 using 直接使用

只需要打包的时候在项目文件中增加一个类似下面的 property 到项目里即可

<Project>
  <ItemGroup>
    <GlobalUsings Include="Library" />
  </ItemGroup>
</Project>

3、More

隐式命名空间引用能够使得我们避免写特别多重复的命名空间引用,对于简单的测试应用来说会非常的方便

虽然隐式的命名空间引用能够为我们大大简化代码,不需要再写重复的 using 代码,但是也有可能会对代码造成冲突,比如自己定义的一个类,在自己的命名空间下和默认隐式引用的命名空间下都存在,此时就会造成冲突,如果不能移除默认的命名空间引用,那使用的时候就需要使用完全限定名或者别名可能会有点不太方便

到此这篇关于.NET 6 即将到来的新特性  隐式命名空间引用的文章就介绍到这了,更多相关.NET 6新特性  隐式命名空间引用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • .NET 6 中的隐式命名空间引用
  • .NET6中哈希算法的简化用法的实现
  • CefSharp v62修改方法(支持.net4.0)
  • ASP.NET Core项目配置教程(6)
  • ASP.NET Core部署前期准备 使用Hyper-V安装Ubuntu Server 16.10
  • ASP.NET MVC5+EF6+EasyUI 后台管理系统(81)-数据筛选(万能查询)实例
  • ASP.NET MVC异步获取和刷新ExtJS6 TreeStore
  • ASP.NET MVC5+EF6+EasyUI后台管理系统 微信公众平台开发之资源环境准备
  • ASP.NET MVC5+EF6+EasyUI后台管理系统 微信公众平台开发之消息管理

相关文章

  • .NET 6 即将到来的新特性  隐式命名空间引用

    .NET 6 即将到来的新特性  隐式命名空间引用

    目录1、Sample2、How it works3、More前言: 今天看到一个更新,可以不需要写 using了,目前还没有正式发布,应该要到 .NET 6 Preview 7
    2021-11-14
  • ASP.NET Core 中间件的使用之全局异常处理机制

    ASP.NET Core 中间件的使用之全局异常处理机制

    目录1、创建项目2、创建全局异常过滤器3、依赖注入全局异常处理机制4、测试全局异常处理机制前言: 我们经常听到“秒修复秒上线”,觉得很
    2021-11-14
  • 解析Pytorch中的torch.gather()函数

    解析Pytorch中的torch.gather()函数

    参数说明 以官方说明为例,gather()函数需要三个参数,输入input,维度dim,以及索引index input必须为Tensor类型 dim为int类型,代表从哪个
    2021-11-14
  • 93充100,电费充值系统怎么做到的

    93充100,电费充值系统怎么做到的

    CPS的本质就是销售;你卖出货就赚钱。 在生活中话费水费电费充值是刚需,基本上每个月都有需求。电费充值不同于话费,电费的市场更大。
    2021-11-09
  • 月入过万 外卖小程序你知道怎么做吗

    月入过万 外卖小程序你知道怎么做吗

    怎么赚钱 美团外卖饿了么外卖赚钱小程序还能赚钱吗,老有人问能不能赚钱,那么今天就说一下逻辑 首先,分为cps悬赏和,赏金两种方式赏金属于打赏比较高的。cps的模式主要靠用户下单的结算金额,用户买的多你就赚的多,通常是在3~6%,美团是3,美团被制裁之后就降价了(可能是这个原因,据说预算不够了)。
    2021-11-08
  • 外卖CPS返利小程序源码分享

    外卖CPS返利小程序源码分享

    怎么赚钱         美团外卖饿了么外卖赚钱小程序还能赚钱吗,老有人问能不能赚钱,那么今天就说一下逻辑 首先,分为cps悬赏和,赏金两种方式赏金属于打赏比较高的。cps的模式主要靠用户下单的结算金额,用户买的多你就赚的多,通常是在3~6%,美团是3,美团被制裁之后就降价了(可能是这个原因,据说预算不够了)。  当然了,依赖外卖cps赚钱是不行的,当然要加点东西了。比如涵盖话费、视频会员、加油卡、礼品卡等多种品类折扣权益,吃、喝、玩、乐、购
    2021-11-08
  • 淘客从简单发单到精推社群,单群收益5000+的经验分享

    淘客从简单发单到精推社群,单群收益5000+的经验分享

    作为淘宝客,看到下面的这个聊天记录,应该是有点羡慕的。社群里多几个这样的粉丝,可能自己的收入也蹭蹭蹭上涨了。今天,我们就为大家邀请了运营这个社群的淘宝客–淘宝联
    2021-11-06
  • 怎样申请抖音团长(详细教程)

    怎样申请抖音团长(详细教程)

    微客云 http://www.wikeyun.cn/在说怎样申请抖音团长之前,我简单聊聊我现在对抖音团长的基础认知,先截一张图,这是抖音团长后台的近30天排名截图,是对外公开的。这个图可
    2021-11-06
  • 一个新手如何做直播?主播有哪些聊天技巧?

    一个新手如何做直播?主播有哪些聊天技巧?

    除了多笑,新手主播也要考虑更多丰富的表情和动作:比如适当的剪刀手卖萌,手比爱心的温馨,吐舌头的调皮。介绍产品中途也可以唱唱歌,增加一些灵动的小手势和表情,这会让
    2021-11-06
  • 一个新手如何做直播?主播有哪些聊天技巧?

    一个新手如何做直播?主播有哪些聊天技巧?

    除了多笑,新手主播也要考虑更多丰富的表情和动作:比如适当的剪刀手卖萌,手比爱心的温馨,吐舌头的调皮。介绍产品中途也可以唱唱歌,增加一些灵动的小手势和表情,这会让
    2021-11-06

最新评论