Impossibile implementare il membro '<nomeinterfaccia>.<nomeroutine>' corrispondente alla firma perché l'interfaccia '<nomeinterfaccia>' contiene più membri con nome e firma uguali: <elencofirme>

Aggiornamento: novembre 2007

Member '<interfacename>.<procedurename>' that matches this signature cannot be implemented because the interface '<interfacename>' contains multiple members with this same name and signature: <signaturelist>

Una routine o proprietà tenta di implementare una routine o proprietà definita in un'interfaccia implementata, ma il compilatore trova più versioni della routine o della proprietà d'interfaccia con lo stesso nome e la stessa firma.

Questo errore può verificarsi con i tipi generici costruiti, come illustrato nei seguenti scheletri di dichiarazioni.

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

Poiché implementingClass implementa baseInterface fornendo String al relativo parametro di tipo t, le due versioni di doSomething contenute in baseInterface utilizzano le stesse firme con implementingClass. Di conseguenza, il compilatore non è in grado di definire la versione da implementare.

ID errore: BC30937

Per correggere l'errore

  • Modficare l'argomento o gli argomenti di tipo forniti alla classe base per evitare che le routine o le proprietà del membro utilizzino una o più firme uguali.

    -oppure-

  • Non implementare questa classe base. Non è possibile implementarla con l'insieme degli argomenti di tipo in uso perché altrimenti sarebbe necessario implementare ciascuno dei relativi membri.

Vedere anche

Concetti

Parola chiave Implements e istruzione Implements

Riferimenti

Implements (Visual Basic)

Istruzione Implements