更新:2007 年 11 月
一个类实现多个泛型接口,这些泛型接口相互继承,这样,对于类型参数的某些值,一个接口成员的两个实现间可能存在冲突。
以下语句可能会产生此错误。
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 使用它自己的类型参数 (u) 从 iFace1 继承,因此,如果将相同的类型变量传递给 y 和 z,则 testClass 将实现带有相同签名的 iFace1.testSub 的两个版本。这将产生关于要访问哪个版本的多义性。
**错误 ID:**BC32125
更正此错误
更改接口的继承结构,从而使 iFace1 无法用两个不同的类型变量实现。
- 或 -
从 Implements 语句中移除导致实现冲突的那个接口。