CS.IFACE.EMPTY

The interface does not declare any members or extend two or more other interfaces. Interfaces define members that provide a behavior or usage contract. If an empty interface extends two or more other interfaces, it combines their contracts into one. If an empty interface extends the only other interface, it does not define a contract that can be implemented, and is therefore useless.

Example 1

Copy
  namespace NameSpace {
     public interface IBadInterface  {   // defect
     }
     public interface IGoodInterface  {  // Ok
         void Method();
     }
     public interface IOnlyParentInterface : IGoodInterface {                  // defect
     }
     public interface ITwoParentsInterface : IGoodInterface, IBadInterface {   // Ok
    }
 }