提问人:camelCase 提问时间:12/10/2021 最后编辑:nalkacamelCase 更新时间:2/2/2023 访问量:900
使用声明的 C# v10 全局的文件名约定
File name convention for C# v10 global using declarations
问:
C# 开发社区内是否就声明全局 using 语句的 .cs 文件名达成共识?
我打算采用文件名 GlobalUsings.cs,但后来发现一个名为 MyProject.GlobalUsings.g.cs 的隐藏文件是由 VS2022 工具链在后台创建的。这是为了支持相关的 C# 10 新功能,称为隐式全局使用指令。
Blazor 支持 .razor 文件的类似功能,Blazor 解决方案模板会自动创建名为 _Imports.razor 的文件。该名称派生自 Razor 语法,用于声明 using 引用。
答:
7赞
Jess
12/29/2021
#1
简答题
Usings.cs
或者也许.GlobalUsings.cs
更多信息
实际上有 2 个新功能。起初它们看起来很简单,但你读得越多,它就越复杂。
- 全局使用指令。您可以在任何文件中的任何 using 指令前面使用,以使其在项目中全局使用。
global
- 隐式使用。这将根据项目类型自动添加一组通用的全局 using 指令。可以在升级到 .NET 6 的项目中启用此功能,将其放在项目 csproj 文件中:
<PropertyGroup><ImplicitUsings>enable</ImplicitUsings>...
默认情况下,在新的 .NET 6 项目上启用隐式使用,因此听起来约定如下:
- 使用隐式用法。
- 您可能仍然需要一个文件来存储非隐式的全局使用。我喜欢你的想法.它是自我记录的。
GlobalUsings.cs
事实上,欢迎使用 C# 10 博客建议使用此命名。我强烈推荐阅读它;这对我真的很有帮助。
编辑:
这似乎一直在变化。.NET 6 项目模板现在包含一个文件。Usings.cs
评论
1赞
camelCase
12/30/2021
我一直成功地将我的全局使用语句放在文件 GlobalUsings.cs 中。我最初担心与工具链自动生成的 GlobalUsings.g.cs 文件发生冲突是没有根据的。归根结底,这些文件都不包含类型声明,而只是 using 语句的捆绑包。
0赞
Jess
12/30/2021
太棒了@camelCase!就在昨天,我做了同样的事情。我的代码现在看起来更干净了,更容易阅读。我敢肯定,当我回到以前的项目时,我会更多地注意到它。
2赞
Jess
1/7/2022
博客推荐全部小写,但我不能让自己这样做。它看起来很奇怪,实际上每个其他文件都是 PascalCase。globalusings.cs
评论
Globals.cs
_GlobalUsings.cs