Use language keywords instead of framework type names for type references (IDE0049)
Property | Value |
---|---|
Rule ID | IDE0049 |
Title | Use language keywords instead of framework type names for type references |
Category | Style |
Subcategory | Language rules (language keywords instead of framework type names) |
Applicable languages | C# and Visual Basic |
Options | dotnet_style_predefined_type_for_locals_parameters_members |
dotnet_style_predefined_type_for_member_access |
Overview
This rule concerns the use of language keywords, where they exist, instead of framework type names.
Options
Use the associated options for this rule to apply it to:
- Local variables, method parameters, and class members - dotnet_style_predefined_type_for_locals_parameters_members
- Type-member access expressions - dotnet_style_predefined_type_for_member_access
An option value of true
means prefer the language keyword (for example, int
or Integer
) instead of the type name (for example, Int32
) for types that have a keyword to represent them. A value of false
means prefer the type name instead of the language keyword.
For information about configuring options, see Option format.
dotnet_style_predefined_type_for_locals_parameters_members
Property | Value | Description |
---|---|---|
Option name | dotnet_style_predefined_type_for_locals_parameters_members | |
Option values | true |
Prefer the language keyword for local variables, method parameters, and class members |
false |
Prefer the type name for local variables, method parameters, and class members | |
Default option value | true |
// dotnet_style_predefined_type_for_locals_parameters_members = true
private int _member;
// dotnet_style_predefined_type_for_locals_parameters_members = false
private Int32 _member;
' dotnet_style_predefined_type_for_locals_parameters_members = true
Private _member As Integer
' dotnet_style_predefined_type_for_locals_parameters_members = false
Private _member As Int32
dotnet_style_predefined_type_for_member_access
Property | Value | Description |
---|---|---|
Option name | dotnet_style_predefined_type_for_member_access | |
Option values | true |
Prefer the language keyword for member access expressions |
false |
Prefer the type name for member access expressions | |
Default option value | true |
// dotnet_style_predefined_type_for_member_access = true
var local = int.MaxValue;
// dotnet_style_predefined_type_for_member_access = false
var local = Int32.MaxValue;
' dotnet_style_predefined_type_for_member_access = true
Dim local = Integer.MaxValue
' dotnet_style_predefined_type_for_member_access = false
Dim local = Int32.MaxValue
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 IDE0049
// The code that's violating the rule is on this line.
#pragma warning restore IDE0049
To disable the rule for a file, folder, or project, set its severity to none
in the configuration file.
[*.{cs,vb}]
dotnet_diagnostic.IDE0049.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.
See also
.NET feedback
The .NET documentation is open source. Provide feedback here.
Feedback
Submit and view feedback for