Member '<interfacename>.<procedurename>' that matches this signature cannot be implemented because the interface '<interfacename>' contains multiple members with this same name and signature: <signaturelist>
A procedure or property attempts to implement a procedure or property defined in an implemented interface, but the compiler finds more than one version of the interface procedure or property with the same name and signature.
This error can occur in a situation with constructed generic types, as the following skeleton declarations illustrate.
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
Because implementingClass implements baseInterface supplying String to its type parameter t, the two versions of doSomething in baseInterface take on identical signatures as far as implementingClass is concerned. As a result, the compiler cannot determine which version to implement.
Error ID: BC30937
To correct this error
Change the type argument or arguments you supply to the base class so that it does not result in one or more identical signatures of member procedures or properties.
-or-
Do not implement this base class. You cannot implement it with the set of type arguments you are using, because you must implement every one of its members.
See Also
Concepts
Implements Keyword and Implements Statement