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