無法覆寫與此簽章相符的成員 '<classname>.<procedurename>',因為類別 '<classname>' 包含多個具有此相同名稱與簽章的成員:<signaturelist>
程序或屬性嘗試覆寫繼承的程序或屬性,但編譯器發現多個版本的基底程序或屬性具有相同名稱和簽章。
這個錯誤可能發生在建構的泛型類型情況下,如下列基本架構宣告中所示。
VB
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
並提供 String
給其類型參數 t
,所以就 doSomething
而言, baseClass
中的兩個 derivedClass
版本會採取相同的簽章。 如此一來,編譯器無法判斷要覆寫的版本。
錯誤 ID︰ BC30935
請變更您提供給基底類別的類型引數或引數,讓它不會導致成員程序或屬性有一或多個相同簽章。
-或-
如果您需要繼承具有所使用類型引數集合的基底類別,則請不要覆寫這個錯誤訊息中所提到的程序或屬性。