[*.cs]
dotnet_diagnostic.MA0053.severity = suggestion
# Report public classes without inheritors (default: false)
MA0053.public_class_should_be_sealed = true
# Report class without inheritors even if there is virtual members (default: false)
MA0053.class_with_virtual_member_shoud_be_sealed = true
3条答案
按热度按时间3htmauhk1#
您可以编辑visual studio项模板,它将在创建新文件时使用这些模板。
我以前也这样做过,将其默认为public类,而不是private类(或者是visual studio 2022中的internal类)。
这是社区版的位置,但其他版本将是类似的。
C:\程序文件\Microsoft Visual Studio \2022\社区\公用7\IDE\项目模板\CSharp\代码\1033\类
注意:这些文件是无关紧要的地方,例如对于ASP.NET核心项目,所以您可能需要四处寻找。
e1xvtsh32#
还有一些
.editorconfig
的首选项,但它们只有在将Meziantou.Analyzer Nuget包安装到您的项目中后才起作用。在您构建解决方案后,这些密封的建议将显示出来。来源:https://www.meziantou.net/performance-benefits-of-sealed-class.htm
[2023] .NET 7编辑:
现在.NET 7允许您在
.editorconfig
中指定此警告,如下所示:但是它有一个要求,即它只能在
internal
类上工作来源:https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1852
vc9ivgsu3#
编辑器配置文件不处理创建新类,在VS中,代码片段和模板可以处理--从庞大的嵌套文件类型列表中选择的内容。如果希望这些内容生成密封类,则必须编辑它们或创建自己的类。
另一个方向是编写一个代码分析器和修复提供程序,使你的类成为
sealed
,前提是你要选择和实现的一组条件是真的。这有一个额外的好处,可以追溯到你已经写好的代码。