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

cam*_*ase 8 using-directives naming-conventions c#-10.0

C# 开发社区对于声明全局 using 语句的 .cs 文件名是否达成共识?

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

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

Jes*_*ess 7

简答

Usings.cs或者可能GlobalUsings.cs

更多信息

实际上有 2 个新功能。它们乍一看似乎很简单,但你读得越多,它就会变得越复杂。

  1. 全局使用指令。 您可以global在任何文件中的任何 using 指令前面使用,以使其在项目中全局化。
  2. 隐式使用。 这会根据项目类型自动添加一组通用的全局 using 指令。您可以在升级到 .NET 6 的项目中启用此功能,并将其放入项目 csproj 文件中:<PropertyGroup><ImplicitUsings>enable</ImplicitUsings>...

新的 .NET 6 项目默认启用隐式使用,因此听起来约定是:

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

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

编辑:

这似乎一直在改变。.NET 6 项目模板现在包含一个Usings.cs文件。 在此输入图像描述

  • 该博客建议全部小写“globalusings.cs”,但我无法让自己这样做。它看起来很奇怪,几乎所有其他文件都是 PascalCase。 (2认同)