Nie można dziedziczyć interfejsu "<interfacename1>", ponieważ interfejs "<interfacename2>", z którego dziedziczy, może być identyczny z interfejsem "interfacename3>", z którego interfejs "<<interfacename4>" dziedziczy dla niektórych argumentów typu

Interfejs ogólny dziedziczy z co najmniej dwóch interfejsów ogólnych, a dwa dziedziczenia mogą powodować konflikt dla niektórych wartości argumentów typu.

Następujące instrukcje mogą generować ten błąd.

Public Interface interfaceA(Of u)
End Interface
Public Interface interfaceX(Of v)
    Inherits interfaceA(Of v)
End Interface
Public Interface interfaceY(Of w)
    Inherits interfaceA(Of w)
End Interface
Public Interface derivedInterface(Of t1, t2)
    Inherits interfaceX(Of t1), interfaceY(Of t2)
End Interface

Jeśli derivedInterface jest skonstruowany lub zaimplementowany dostarczanie tego samego typu do obu t1 i t2, musi dziedziczyć dwie wersje interfaceA z identycznymi argumentami typu. Takie działanie spowodowałoby niejednoznaczność co do wersji, do której ma być uzyskiwany dostęp.

Identyfikator błędu: BC32122

Aby poprawić ten błąd

  • Zmień jeden z argumentów typu dostarczonych do interfejsu pochodnego, aby nie wystąpił konflikt.

    — lub —

  • Usuń z instrukcji Inherits jeden z interfejsów powodujących potencjalny konflikt dziedziczenia lub implementacji.

Zobacz też