Non è possibile implementare il membro '<interfacename>.<procedurename>' corrispondente alla firma perché l'interfaccia '<interfacename>' contiene più membri con nome e firma uguali: <signaturelist>

Una routine o proprietà prova a 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 in una situazione con tipi generici costruiti, come illustrano le seguenti dichiarazioni di struttura.

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  

Dal momento che implementingClass implementa baseInterface fornendo String al relativo parametro di tipo t, le due versioni di doSomething in baseInterface assumono firme identiche per quanto riguarda implementingClass . Di conseguenza, il compilatore non riesce a determinare quale versione implementare.

ID errore: BC30937

Per correggere l'errore

  • Modificare l'argomento o gli argomenti di tipo che si forniscono alla classe base in modo che non comportino una o più firme identiche delle routine o proprietà del membro.

    oppure

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

Vedi anche