Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Member '<classname>.<procedurename>' that matches this signature cannot be overridden because the class '<classname>' contains multiple members with this same name and signature: <signaturelist>
Una routine o proprietà tenta l'override di una routine o proprietà ereditata, ma il compilatore rileva più di una versione della routine o proprietà base con lo stesso nome e firma.
Questo tipo di errore può verificarsi in una situazione relativa a tipi generici costruiti, come viene illustrato nelle seguenti strutture di dichiarazione.
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
Poiché derivedClass eredita baseClass fornendo String al parametro di tipo t, le due versioni di doSomething in baseClass riportano firme identiche per quanto riguarda derivedClass. Di conseguenza, il compilatore non è in grado di determinare su quale versione eseguire l'override.
ID errore: BC30935
Per correggere l'errore
Modificare l'argomento o gli argomenti di tipo forniti alla classe base in modo tale che non risultino una o più firme identiche delle routine o proprietà del membro.
-oppure-
Se è necessario ereditare la classe base con l'insieme degli argomenti di tipo utilizzati, non eseguire l'override della routine o proprietà contenuta nel messaggio di errore.
Vedere anche
Concetti
Override di proprietà e metodi