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.
using System;
namespace MyLibrary
{
public interface MyInterface // Noncompliant
{
}
}
using System;
namespace MyLibrary
{
public interface MyInterface
{
void Foo();
}
}