프로시저 또는 속성이 구현된 인터페이스에 정의된 프로시저 또는 속성을 구현하려고 시도하지만, 컴파일러가 이름과 서명이 같은 인터페이스 프로시저 또는 속성 버전을 둘 이상 찾았습니다.
다음 기본 선언이 보여 주는 것처럼 이 오류는 생성된 제네릭 형식이 있는 경우에 발생할 수 있습니다.
Public Interface baseInterface(Of t)
Sub doSomething(ByVal inputValue As String)
Sub doSomething(ByVal inputValue As t)
End Class
Public Class implementingClass
Implements baseInterface(Of String)
Sub doSomething(ByVal inputValue As String) _
Implements baseInterface(Of String).doSomething
End Sub
End Class
implementingClass 는 해당 형식 매개 변수 baseInterface 에 String 을 제공하는 t를 구현하기 때문에 doSomething 에 관한 한 baseInterface 에 있는 두 버전의 implementingClass 은 동일한 서명을 사용합니다. 결과적으로 컴파일러가 어떤 버전을 구현할지 결정할 수 없습니다.
오류 ID: BC30937
이 오류를 해결하려면
동일한 서명을 가진 멤버 프로시저 또는 속성이 하나 이상 발생하지 않도록 기본 클래스에 제공하는 형식 인수를 변경합니다.
또는
이 기본 클래스를 구현하지 마세요. 해당 멤버의 모든 항목을 구현해야 하기 때문에 현재 사용 중인 형식 인수 집합으로 기본 클래스를 구현할 수 없습니다.
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET