Remove unnecessary suppression operator (IDE0080)
Property | Value |
---|---|
Rule ID | IDE0080 |
Title | Remove unnecessary suppression operator |
Category | Style |
Subcategory | Unnecessary code rules (expression-level preferences) |
Applicable languages | C# |
Overview
This rule flags an unnecessary suppression or null-forgiving operator. The operator is unnecessary when it's used in a context where it has no effect. Use of the suppression operator, for example, x!
, declares that the expression x
of a reference type isn't null. However, when used in a context of another operator, for example, the is operator in o !is string
, it has no effect and can be removed.
Options
This rule has no associated code-style options.
Example
// Code with violations
if (o !is string) { }
// Potential fixes:
// 1.
if (o is not string) { }
// 2.
if (!(o is string)) { }
// 3.
if (o is string) { }
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 IDE0080
// The code that's violating the rule is on this line.
#pragma warning restore IDE0080
To disable the rule for a file, folder, or project, set its severity to none
in the configuration file.
[*.{cs,vb}]
dotnet_diagnostic.IDE0080.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
Phản hồi
https://aka.ms/ContentUserFeedback.
Sắp ra mắt: Trong năm 2024, chúng tôi sẽ dần gỡ bỏ Sự cố với GitHub dưới dạng cơ chế phản hồi cho nội dung và thay thế bằng hệ thống phản hồi mới. Để biết thêm thông tin, hãy xem:Gửi và xem ý kiến phản hồi dành cho