Unnecessary keywords simply clutter the code and should be removed. Specifically:

* ``++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 

== 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()
  {
  }
}
----

ifdef::env-github,rspecator-view[]
'''
== Comments And Links
(visible only on this page)

include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]
