无法重写与此签名匹配的成员“<classname>.<procedurename>”,因为类“<classname>”包含多个具有相同名称和签名的成员:<signaturelist>

更新:2007 年 11 月

过程或属性试图重写继承的过程或属性,但编译器找到具有相同名称和签名的该基过程或属性的多个版本。

在使用构造的泛型类型的情形下可能会出现此错误,如下面的声明框架所示。

Public Class baseClass(Of t)
    Public Overridable Sub doSomething(ByVal inputValue As String)
    End Sub
    Public Overridable Sub doSomething(ByVal inputValue As t)
    End Sub
End Class
Public Class derivedClass
    Inherits baseClass(Of String)
    Overrides Sub doSomething(ByVal inputValue As String)
    End Sub
End Class

由于 derivedClass 继承 baseClass,而 baseClass 为其类型参数 t 提供了一个 String,所以就 derivedClass 而言,baseClass 中出现了两个具有完全相同的签名的 doSomething。因此,编译器无法确定要重写哪一版本。

**错误 ID:**BC30935

更正此错误

  • 更改提供给基类的类型变量,这样,它就不会导致成员过程或属性具有一个或多个完全相同的签名。

    - 或 -

  • 如果您需要继承的基类具有您正在使用的类型变量集,则不要重写此错误信息中所提到的过程或属性。

请参见

概念

重写属性和方法

参考

Overridable

Overrides