Невозможно наследовать интерфейс <имяИнтерфейса1>, так как интерфейс <имяИнтерфейса2>, от которого он наследуется, может совпадать с интерфейсом <имяИнтерфейса3>, от которого наследуется интерфейс <имяИнтерфейса4> для некоторых аргументов типа
Обновлен: Ноябрь 2007
Cannot inherit interface '<interfacename1>' because the interface '<interfacename2>' from which it inherits could be identical to interface '<interfacename3>' from which the interface '<interfacename4>' inherits for some type arguments
Универсальный интерфейс наследуется из двух или более универсальных интерфейсов, и эти два наследования могут конфликтовать для определенных значений аргументов типа.
Эта ошибку могут вызвать следующие операторы.
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
Если derivedInterface формируется или предоставляется одним и тем же типом для t1 и t2, он должен наследовать две версии interfaceA с одинаковыми аргументами типа. Это вызовет неоднозначность в том, к какой версии получать доступ.
Идентификатор ошибки: BC32122
Исправление этой ошибки
Измените один из аргументов типа, предоставленный для производного интерфейса так, чтобы избежать конфликта.
или
Удалите из оператора Inherits один из интерфейсов, вызывающих возможное наследование или конфликт реализации.
См. также
Основные понятия
Универсальные типы в Visual Basic