CS.IFACE.EMPTY

インターフェイスはどのメンバーも宣言しないか、2 つ以上の他のインターフェイスを拡張します。インターフェイスは、動作または使用法の規約を提供するメンバーを定義します。空のインターフェイスが 2 つ以上のインターフェイスを拡張する場合、これらの規約は 1 つに結合されます。空のインターフェイスが他のインターフェイスのみを拡張する場合、実装可能な規約が定義されないため、この状況は有用ではありません。

例 1

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