クラスで 2 つ以上のジェネリック インターフェイスが実装され、その 1 つがもう 1つを継承しているために、インターフェイス メンバーの 2 つの実装が特定の型引数の値で衝突する可能性があります。
次のステートメントでは、このエラーが生成される可能性があります。
Public Interface iFace1(Of t)
Sub testSub()
End Interface
Public Interface iFace2(Of u)
Inherits iFace1(Of u)
End Interface
Public Class testClass(Of y, z)
Implements iFace1(Of y), iFace2(Of z)
Public Sub testSuby() Implements iFace1(Of y).testSub
End Sub
Public Sub testSubz() Implements iFace1(Of z).testSub
End Sub
End Class
iFace2 は独自の型パラメーター ( iFace1 ) を使用してuを継承しているため、同じ型引数が testClass と iFace1.testSub に渡された場合、 y は同じシグネチャを持つ 2 つのバージョンの zを実装します。 この場合、アクセスするバージョンがあいまいになる可能性があります。
エラー ID: BC32125
このエラーを解決するには
iFace1が 2 つの異なる型引数で実装されないように、インターフェイスの継承構造を変更します。または
実装の競合を起こすインターフェイスの 1 つを
Implementsステートメントから削除します。
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET