'<interfacename1>' 인터페이스 구현이 일부 형식 인수에 대해 구현된 다른 인터페이스 '<interfacename2>'의 구현과 충돌할 수 있으므로 이 인터페이스를 구현할 수 없습니다.

클래스 선언에 두 개 이상의 인터페이스를 지정하는 Implements 문이 포함되어 있지만 하나 이상의 인터페이스가 제네릭이며 둘 이상의 구현이 형식 인수의 특정 값에 대해 충돌할 수 있습니다.

다음 문은 이 오류를 생성할 수 있습니다.

Public Interface iFace1
    Sub testSub(ByVal arg As String)
End Interface
Public Interface iFace2(Of t)
    Sub testSub(ByVal arg As t)
End Interface
Public Class testClass
    Implements iFace1, iFace2(Of String)
End Class

iFace2String를 사용하여 생성되므로 testClass 에서 서명이 동일한 두 버전의 testSub 를 구현해야 합니다. 이렇게 하면 액세스할 버전이 모호해집니다.

오류 ID: BC32072

이 오류를 해결하려면

  • 충돌이 발생하지 않도록 제네릭 인터페이스에 제공된 형식 인수를 변경합니다.

    또는

  • 구현 충돌을 일으키는 인터페이스 중 하나를 Implements 문에서 제거합니다.

참고 항목