Udostępnij za pośrednictwem


Nie można dziedziczyć interfejsu "<interfacename1>", ponieważ interfejs "<interfacename2>", z którego dziedziczy, może być identyczny z interfejsem "<interfacename3>" 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)  
    Inherits interfaceX(Of u)  
End Interface  
Public Interface interfaceX(Of v)  
End Interface  
Public Interface derivedInterface(Of t1, t2)  
    Inherits interfaceA(Of t1), interfaceX(Of t2)  
End Interface  

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

Identyfikator błędu: BC32121

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ż