2020-06-30 12:48:07 +02:00
|
|
|
Unnecessary keywords simply clutter the code and should be removed. Specifically:
|
2020-06-30 14:49:38 +02:00
|
|
|
|
2020-12-21 15:38:52 +01:00
|
|
|
* `+partial+` on type declarations that are completely defined in one place
|
|
|
|
* `+sealed+` on members of `+sealed+` classes
|
|
|
|
* `+unsafe+` method or block inside construct already marked with `+unsafe+`, or when there are no `+unsafe+` constructs in the block
|
|
|
|
* `+checked+` and `+unchecked+` blocks with no integral-type arithmetic operations
|
2020-06-30 12:48:07 +02:00
|
|
|
|
|
|
|
== Noncompliant Code Example
|
|
|
|
|
|
|
|
----
|
|
|
|
public partial class MyClass // Noncompliant
|
|
|
|
{
|
|
|
|
public virtual void Method()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public sealed class MyOtherClass : MyClass
|
|
|
|
{
|
|
|
|
public sealed override void Method() // Noncompliant
|
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
----
|
|
|
|
|
|
|
|
== Compliant Solution
|
|
|
|
|
|
|
|
----
|
|
|
|
public class MyClass
|
|
|
|
{
|
|
|
|
public virtual void Method()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public sealed class MyOtherClass : MyClass
|
|
|
|
{
|
|
|
|
public override void Method()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
----
|