过程或属性试图实现在已实现接口中定义的某过程或属性,但编译器找到多个具有相同名称和签名的接口过程或属性的版本。
如下面的主干声明所示,存在构造的泛型类型的情况下可能出现此错误。
Public Interface baseInterface(Of t)
Sub doSomething(ByVal inputValue As String)
Sub doSomething(ByVal inputValue As t)
End Class
Public Class implementingClass
Implements baseInterface(Of String)
Sub doSomething(ByVal inputValue As String) _
Implements baseInterface(Of String).doSomething
End Sub
End Class
因为 implementingClass 实现为其类型参数 baseInterface 提供 String 的 t, doSomething 中两个版本的 baseInterface 使用就 implementingClass 而言完全相同的签名。 因此,编译器无法确定要实现的版本。
错误 ID: BC30937
更正此错误
更改提供给基类的一个或多个类型参数,以确保成员过程或属性的一个或多个签名不相同。
-或-
不要实现此基类。 不能通过你正在使用的类型参数集来实现它,因为必须实现其全部成员。