== Why is this an issue? There are several reasons for a method not to have a method body: * It is an unintentional omission, and should be fixed. * It is not yet, or never will be, supported. In this case a ``++NotSupportedException++`` should be thrown. * The method is an intentionally-blank override. In this case a nested comment should explain the reason for the blank override. === Noncompliant code example [source,csharp] ---- public override void DoSomething() { } public override void DoSomethingElse() { } ---- === Compliant solution [source,csharp] ---- public override void DoSomething() { // Do nothing because of X and Y. } public override void DoSomethingElse() { throw new NotSupportedException(); } ---- === Exceptions The following methods are ignored: * empty ``++virtual++`` methods, * empty methods that override an ``++abstract++`` method, * empty overrides in test assemblies. ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] ''' == Comments And Links (visible only on this page) === on 11 Nov 2020, 19:45:36 Andrei Epure wrote: \[~nicolas.harraudeau] I believe this rule could also apply to local functions and to property setters, right?   ---- public void Method() { void EmptyLocalFunction {} // Noncompliant } public int Property { set {} // Noncompliant } {code} ---- === on 16 Nov 2020, 14:19:07 Nicolas Harraudeau wrote: \[~andrei.epure] Yes. We already do it for nested functions in python. I don't see any reason to not do the same for C#. === on 16 Nov 2020, 17:39:11 Andrei Epure wrote: thanks. I opened \https://github.com/SonarSource/sonar-dotnet/issues/3753 for this. include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]