对修饰符进行排序 (IDE0036)

财产 价值
规则 ID IDE0036
标题 对修饰符进行排序
类别 样式
子类别 语言规则(修饰符首选项)
适用的语言 C# 和 Visual Basic
引入的版本 Visual Studio 2017
选项 csharp_preferred_modifier_order
visual_basic_preferred_modifier_order

概述

此规则允许你强制实施所需的 修饰符 排序顺序。

  • 启用此规则并将关联的选项设置为修饰符列表时,首选指定的排序。
  • 如果未启用此规则,则不会偏好特定的修饰符顺序。

选项

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

有关配置选项的信息,请参阅 选项格式

csharp_preferred_modifier_order

财产 价值 描述
选项名称 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

财产 价值 描述
选项名称 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

有关详细信息,请参阅 如何取消代码分析警告

另请参阅