













转自:豆包ai
在 C# 10 及以上版本中,Global Using 指令(全局 using 指令)是一项简化代码的新特性,允许在项目级别定义全局生效的 using 语句,无需在每个代码文件中重复声明。这能显著减少重复代码,使文件更简洁。
传统上,每个 .cs 文件如需使用某个命名空间(如 System、System.Collections.Generic),都需要在文件顶部添加 using 指令。而 Global Using 允许在单个文件中声明一次,让该命名空间在整个项目的所有代码文件中生效。
在任意 .cs 文件中(通常建议单独创建一个 GlobalUsings.cs 集中管理),用 global 关键字修饰 using 语句:
// GlobalUsings.cs(文件名可自定义)
global using System;
global using System.Collections.Generic;
global using System.Linq;
global using Microsoft.AspNetCore.Mvc;
之后,项目中所有 .cs 文件无需再写 using System; 等,可直接使用这些命名空间下的类型(如 List<T>、ControllerBase)。
某些项目模板(如 ASP.NET Core Web API、Console App)会自动生成隐式的全局 using,无需手动声明。例如:
global using Microsoft.AspNetCore.Builder;、global using Microsoft.AspNetCore.Http; 等,简化 Web 开发常用命名空间。.csproj)中的 <ImplicitUsings>enable</ImplicitUsings> 控制(默认启用)。.cs 文件中,但建议集中放在 GlobalUsings.cs 中,便于维护。using,文件内的 using 仍可补充或覆盖全局设置(如 using static 或别名)。.csproj 中关闭:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>disable</ImplicitUsings>
System.Text.Json.JsonSerializer)或 using 别名解决。System、System.Linq)。using 指令。System、System.Collections.Generic)。Microsoft.AspNetCore.Mvc、Entity Framework Core 的 Microsoft.EntityFrameworkCore)。总结:Global Using 是 C# 10+ 中提升开发效率的实用特性,通过全局声明减少重复代码,尤其适合中大型项目或框架开发场景。
转自:https://furion.net/docs/globalusing
推荐大家在 Visual Studio 中安装 CodeMaid 插件(注意 2019 和 2022 版本),自动清理解决方案所有无用的 using,结合 GlobalUsings.cs 非常棒!
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。