Member '<classname>.<procedurename>, který odpovídá tomuto podpisu, nelze přepsat, protože třída classname<> obsahuje více členů se stejným názvem a podpisem: <signaturelist>

Procedura nebo vlastnost se pokusí přepsat zděděnou proceduru nebo vlastnost, ale kompilátor najde více než jednu verzi základní procedury nebo vlastnosti se stejným názvem a podpisem.

K této chybě může dojít v situaci s vytvořenými obecnými typy, jak znázorňují následující deklarace kostry.

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  

Vzhledem k tomu derivedClass , že dědí baseClass dodání String parametru ttypu , dvě verze doSomething přebírá baseClass identické podpisy, pokud derivedClass jde o to. V důsledku toho kompilátor nemůže určit, která verze se má přepsat.

ID chyby: BC30935

Oprava této chyby

  • Změňte argument typu nebo argumenty, které zadáte do základní třídy, aby nezpůsobily jeden nebo více identických podpisů členských procedur nebo vlastností.

    nebo

  • Pokud potřebujete zdědit základní třídu se sadou argumentů typu, které používáte, nepřepište proceduru nebo vlastnost citované v této chybové zprávě.

Viz také