Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Nie można dziedziczyć interfejsu "<interfacename1>", ponieważ może być identyczny z interfejsem "<interfacename2>", z którego interfejs "<interfacename3>" 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 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 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: BC32123

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ż