'<typeName>'에 정의된 확장 메서드 '<methodName>'과(와) '<delegateName>' 대리자의 시그니처가 다릅니다.
업데이트: 2007년 11월
Extension method '<methodName>' defined in '<typeName>' does not have the same signature as delegate '<delegateName>'
사용하려는 확장 메서드와 대리자의 시그니처가 일치하지 않습니다. Delegate 문은 대리자 클래스의 매개 변수 형식과 반환 형식을 정의합니다. 이 대리자 형식의 인스턴스를 만들기 위해 매개 변수, 형식 및 반환 형식이 일치하는 모든 프로시저를 사용할 수 있습니다. 다음 예제에서는 확장 메서드 Example의 시그니처가 대리자 Del의 시그니처와 호환되지 않으므로 이 오류가 보고됩니다.
' Definition of the delegate, with two parameters.
Delegate Sub Del(ByVal m As Integer, ByVal s As String)
' Definition of the extension method, with one parameter.
<Extension()> _
Sub Example(ByVal s As String)
' Body of the Sub.
End Sub
'' This assignment causes the error.
' Dim exampleDel As Del = AddressOf Example
오류 ID: BC36580
이 오류를 해결하려면
대리자와 확장 메서드의 매개 변수 수가 같은지 확인합니다.
대리자와 확장 메서드의 매개 변수 순서가 같은지 확인합니다.
각 대리자 매개 변수의 데이터 형식과 해당 확장 메서드 매개 변수의 데이터 형식을 비교하여 서로 호환되는지 확인합니다.