継承元のインターフェイス '<interfacename2>' が、インターフェイス '<interfacename4>' の継承元であるインターフェイス '<interfacename3>' と、いくつかの型引数において同一である可能性があるため、インターフェイス '<interfacename1>' を継承できません。

更新 : 2007 年 11 月

ジェネリック インターフェイスが 2 つ以上のジェネリック インターフェイスを継承しており、そのうちの 2 つが型引数の特定の値において衝突している可能性があります。

このエラーは次のようなステートメントで発生します。

Public Interface interfaceA(Of u)
End Interface
Public Interface interfaceX(Of v)
    Inherits interfaceA(Of v)
End Interface
Public Interface interfaceY(Of w)
    Inherits interfaceA(Of w)
End Interface
Public Interface derivedInterface(Of t1, t2)
    Inherits interfaceX(Of t1), interfaceY(Of t2)
End Interface

derivedInterface が、t1 と t2 の両方に同じ型を指定して作成または実装された場合、2 つの形式の interfaceA を同じ型の引数で継承せざるを得なくなります。そうした場合、どちらの形式にアクセスすればよいかがはっきりしなくなります。

Error ID: BC32122

このエラーを解決するには

  • 派生したインターフェイスに指定する型引数の一方を変更して、衝突が起こらないようにします。

    または

  • Inherits ステートメントから、継承または実装の衝突を起こしていると思われるインターフェイスの一方を削除します。

参照

概念

インターフェイスの概要

継承の基本

Visual Basic におけるジェネリック型

参照

Interface ステートメント (Visual Basic)

Inherits ステートメント