Impossibile eseguire l'implementazione dell'interfaccia '<nomeinterfaccia1>' perché potrebbe essere in conflitto con l'implementazione di un'altra interfaccia '<nomeinterfaccia2>' per alcuni argomenti di tipo

Aggiornamento: novembre 2007

Cannot implement interface '<interfacename1>' because its implementation could conflict with the implementation of another implemented interface '<interfacename2>' for some type arguments

Nella dichiarazione di una classe è compresa un'istruzione Implements che specifica due o più interfacce, di cui almeno una delle due è generica e due delle implementazioni potrebbero entrare in conflitto per alcuni valori degli argomenti di tipo.

Le istruzioni seguenti possono generare questo errore.

Public Interface iFace1
    Sub testSub(ByVal arg As String)
End Interface
Public Interface iFace2(Of t)
    Sub testSub(ByVal arg As t)
End Interface
Public Class testClass
    Implements iFace1, iFace2(Of String)
End Class

Poiché iFace2 viene creato utilizzando String, testClass deve implementare due versioni di testSub con firme identiche, producendo un'ambiguità relativa alla versione a cui accedere.

ID errore: BC32072

Per correggere l'errore

  • Modificare l'argomento di tipo fornito all'interfaccia generica in modo che non vi siano conflitti.

    -oppure-

  • Rimuovere dall'istruzione Implements una delle interfacce risultanti nel conflitto di implementazione.

Vedere anche

Concetti

Parola chiave Implements e istruzione Implements

Tipi generici in Visual Basic

Riferimenti

Istruzione Class (Visual Basic)

Istruzione Interface (Visual Basic)

Istruzione Implements