无法实现接口“<interfacename1>”,因为对于某些类型参数,该接口的实现可能与另一个已实现的接口“<interfacename2>”的实现冲突

更新:2007 年 11 月

类声明包括指定两个或更多接口的 Implements 语句,但其中至少一个接口是泛型的,并且,对于类型参数的某些值,其中两个实现可能存在冲突。

以下语句可能会产生此错误。

Public Interface iFace1
    Sub testSub(ByVal arg As String)
End Interface
Public Interface iFace2(Of t)
    Sub testSub(ByVal arg As t)
End Interface
Public Class testClass
    Implements iFace1, iFace2(Of String)
End Class

由于 iFace2 是使用 String 构建的,因此 testClass 必须实现两个版本的 testSub(带有相同签名)。如果这样做,则无法明确地确定要访问哪个版本。

**错误 ID:**BC32072

更正此错误

  • 更改提供给泛型接口的类型参数,以便消除冲突。

    - 或 -

  • 从 Implements 语句中移除导致实现冲突的那个接口。

请参见

概念

Implements 关键字和 Implements 语句

Visual Basic 中的泛型类型

参考

Class 语句 (Visual Basic)

Interface 语句 (Visual Basic)

Implements 语句