동일한 형식으로 변환할 수 없으므로 이 인수에서 ‘typename’에 정의된 확장 메서드 ‘<methodname>’의 형식 매개 변수에 대한 데이터 형식을 유추할 수 없습니다. 데이터 형식을 명시적으로 지정하면 이 오류를 해결할 수 있습니다.
제네릭 확장 메서드에 대한 호출을 평가할 때 형식 유추를 사용하여 형식 매개 변수의 데이터 형식을 확인하려고 했습니다. 컴파일러에서 모든 인수의 제약 조건을 충족하는 데이터 형식을 찾을 수 없습니다. 따라서 이 오류가 보고되었습니다.
참고 항목
인수 지정이 옵션이 아닌 경우(예: 쿼리 식의 쿼리 연산자) 두 번째 문장 없이 오류 메시지가 나타납니다.
다음 코드에서는 오류를 보여 줍니다.
Option Strict Off
Module Module3
Sub Main()
Dim c1 As New Class1
'' Not valid. Integer and Date do not convert to the same type.
'c1.targetMethod(19, #3/4/2007#)
End Sub
<System.Runtime.CompilerServices.Extension()> _
Sub targetMethod(Of T)(ByVal p0 As Class1, ByVal p1 As T, ByVal p2 As T)
End Sub
Class Class1
End Class
End Module
오류 ID: BC36661 및 BC36658
이 오류를 해결하려면
다음 코드와 같이 하나 이상의 인수를 호환되는 형식으로 명시적으로 변환할 수 있습니다.
c1.targetMethod(19, #3/4/2007#.ToOADate)다음 코드와 같이 인수가 변환하는 형식 매개 변수에 대한 데이터 형식을 지정할 수 있습니다.
c1.targetMethod(Of String)(19, #3/4/2007#)
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET