2020-06-30 12:47:33 +02:00
|
|
|
There are several reasons for a method not to have a method body:
|
|
|
|
|
|
|
|
* It is an unintentional omission, and should be fixed.
|
2020-12-21 15:38:52 +01:00
|
|
|
* It is not yet, or never will be, supported. In this case a `+NotSupportedException+` should be thrown.
|
2020-06-30 12:47:33 +02:00
|
|
|
* The method is an intentionally-blank override. In this case a nested comment should explain the reason for the blank override.
|
|
|
|
|
|
|
|
== Noncompliant Code Example
|
|
|
|
|
|
|
|
----
|
|
|
|
public override void DoSomething()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
public override void DoSomethingElse()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
----
|
|
|
|
|
|
|
|
== Compliant Solution
|
|
|
|
|
|
|
|
----
|
|
|
|
public override void DoSomething()
|
|
|
|
{
|
|
|
|
// Do nothing because of X and Y.
|
|
|
|
}
|
|
|
|
|
|
|
|
public override void DoSomethingElse()
|
|
|
|
{
|
|
|
|
throw new NotSupportedException();
|
|
|
|
}
|
|
|
|
----
|
|
|
|
|
|
|
|
== Exceptions
|
|
|
|
|
|
|
|
The following methods are ignored:
|
2020-06-30 14:49:38 +02:00
|
|
|
|
2020-12-21 15:38:52 +01:00
|
|
|
* empty `+virtual+` methods,
|
|
|
|
* empty methods that override an `+abstract+` method,
|
2020-06-30 12:47:33 +02:00
|
|
|
* empty overrides in test assemblies.
|