== Why is this an issue?

Empty interfaces are usually used as a marker or a way to identify groups of types. The preferred way to achieve this is to use custom attributes.


=== Noncompliant code example

[source,text]
----
using System;

namespace MyLibrary
{
   public interface MyInterface // Noncompliant
   {
   }
}
----


=== Compliant solution

[source,text]
----
using System;

namespace MyLibrary
{
   public interface MyInterface
   {
      void Foo();
   }
}
----

