Поделиться через


Невозможно наследовать интерфейс <имяФайлаИнтерфейса1>, поскольку для некоторых типов аргументов он может совпадать с интерфейсом <имяФайлаИнтерфейса2>

Обновлен: Ноябрь 2007

Cannot inherit interface '<interfacename1>' because it could be identical to interface '<interfacename2>' for some type arguments

Универсальный интерфейс наследуется более одного раза из другого универсального интерфейса, и два наследования могут конфликтовать для определенных значений аргументов типа.

Эту ошибку могут вызвать следующие операторы.

Public Interface interfaceA(Of u)

End Interface

Public Interface derivedInterface(Of t1, t2)

Inherits interfaceA(Of t1), interfaceA(Of t2)

End Interface

Если derivedInterface формируется или предоставляется одним и тем же типом для t1 и t2, он должен наследовать две версии interfaceA с одинаковыми аргументами типа. Это вызовет неоднозначность в том, к какой версии получать доступ.

Идентификатор ошибки: BC32120

Исправление этой ошибки

  • Измените один из аргументов типа, предоставленных для производного интерфейса так, чтобы избежать конфликта.

    либо

  • Удалите из оператора Inherits один из интерфейсов, вызывающих возможный конфликт наследования или реализации.

См. также

Основные понятия

Общие сведения об интерфейсах

Основы наследования

Универсальные типы в Visual Basic

Ссылки

Оператор Interface (Visual Basic)

Инструкция Inherits