Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
| Property | Value | 
|---|---|
| Rule ID | IDE0036 | 
| Title | Order modifiers | 
| Category | Style | 
| Subcategory | Language rules (modifier preferences) | 
| Applicable languages | C# and Visual Basic | 
| Introduced version | Visual Studio 2017 | 
| Options | csharp_preferred_modifier_order | 
| visual_basic_preferred_modifier_order | 
Overview
This rule lets you enforce a desired modifier sort order.
- When this rule is enabled and the associated options are set to a list of modifiers, prefer the specified ordering.
- When this rule is not enabled, no specific modifier order is preferred.
Options
The associated options for this rule let you specify the desired modifier order for C# and Visual Basic, respectively.
For information about configuring options, see Option format.
csharp_preferred_modifier_order
| Property | Value | Description | 
|---|---|---|
| Option name | csharp_preferred_modifier_order | |
| Applicable languages | C# | |
| Option values | One or more C# modifiers, such as public,private, andprotected | |
| Default option value | 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 | Value | Description | 
|---|---|---|
| Option name | visual_basic_preferred_modifier_order | |
| Applicable languages | Visual Basic | |
| Option values | One or more Visual Basic modifiers, such as Partial,Private, andPublic | |
| Default option value | 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
Suppress a warning
If you want to suppress only a single violation, add preprocessor directives to your source file to disable and then re-enable the rule.
#pragma warning disable IDE0036
// The code that's violating the rule is on this line.
#pragma warning restore IDE0036
To disable the rule for a file, folder, or project, set its severity to none in the configuration file.
[*.{cs,vb}]
dotnet_diagnostic.IDE0036.severity = none
To disable all of the code-style rules, set the severity for the category Style to none in the configuration file.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
For more information, see How to suppress code analysis warnings.