对修饰符进行排序 (IDE0036)

属性
规则 ID IDE0036
标题 对修饰符进行排序
类别 Style
Subcategory 语言规则(修饰符首选项)
适用的语言 C# 和 Visual Basic
引入的版本 Visual Studio 2017
选项 csharp_preferred_modifier_order
visual_basic_preferred_modifier_order

概述

使用此规则可以强制实施所需的修饰符排序顺序。

  • 如果对一系列修饰符启用该规则并设置关联的选项,则首选指定的排序。
  • 如果未启用此规则,则不首选特定的修饰符顺序。

选项

使用此规则的关联选项,可以分别指定 C# 和 Visual Basic 的所需修饰符顺序。

若要了解如何配置选项,请参阅选项格式

csharp_preferred_modifier_order

Property 说明
选项名称 csharp_preferred_modifier_order
适用的语言 C#
选项值 一个或多个 C# 修饰符,如 publicprivateprotected
默认选项值 public, private, protected, internal, file, static, extern, new, virtual, abstract, sealed, override, readonly, unsafe, required, volatile, async
// csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async
class MyClass
{
    private static readonly int _daysInYear = 365;
}

visual_basic_preferred_modifier_order

Property 说明
选项名称 visual_basic_preferred_modifier_order
适用的语言 Visual Basic
选项值 一个或多个 Visual Basic 修饰符,如 PartialPrivatePublic
默认选项值 Partial, Default, Private, Protected, Public, Friend, NotOverridable, Overridable, MustOverride, Overloads, Overrides, MustInherit, NotInheritable, Static, Shared, Shadows, ReadOnly, WriteOnly, Dim, Const, WithEvents, Widening, Narrowing, Custom, Async
' visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async
Public Class MyClass
    Private Shared ReadOnly daysInYear As Int = 365
End Class

抑制警告

如果只想抑制单个冲突,请将预处理器指令添加到源文件以禁用该规则,然后重新启用该规则。

#pragma warning disable IDE0036
// The code that's violating the rule is on this line.
#pragma warning restore IDE0036

若要对文件、文件夹或项目禁用该规则,请在配置文件中将其严重性设置为 none

[*.{cs,vb}]
dotnet_diagnostic.IDE0036.severity = none

若要禁用所有代码样式规则,请在配置文件中将类别 Style 的严重性设置为 none

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

有关详细信息,请参阅如何禁止显示代码分析警告

另请参阅