C# v10 全局使用声明的文件名约定

File name convention for C# v10 global using declarations

C# 开发社区是否就声明 global using statements 的 .cs 文件名达成共识?

我打算采用文件名 GlobalUsings.cs 但后来发现 VS2022 工具链在幕后创建了一个名为 MyProject.GlobalUsings.g.cs 的隐藏文件。这是为了支持名为隐式全局使用指令的相关新 C# 10 功能。

Blazor 支持 .razor 文件的类似功能,Blazor 解决方案模板会自动创建一个名为 _Imports.razor 的文件。该名称派生自 Razor 语法以声明一个 using 引用。

简答

GlobalUsings.cs

更多信息

实际上有 2 个新功能。乍一看很简单,但越读越复杂。

  1. 全局 using 指令。您可以在任何文件中的任何 using 指令前使用 global 以使其在项目中成为全局指令。
  2. 隐式使用。 这会根据项目类型自动添加 a set of common global using directives。您可以在升级到 .NET 6 的项目中启用此功能,购买后将其放入项目 csproj 文件中:<PropertyGroup><ImplicitUsings>enable</ImplicitUsings>...

在新的 .NET 6 项目中默认启用隐式使用,所以听起来惯例是:

  1. 使用隐式用法。
  2. 您可能仍然需要一个文件来存储非隐式的全局使用。我喜欢你 GlobalUsings.cs 的想法。它是自我记录的。

其实这个命名是Welcome to C# 10 Blog推荐的。我强烈推荐阅读它;这对我很有帮助。