“<typeName>”中定义的扩展方法“<methodName>”与委托“<delegateName>”的签名不同

扩展方法的签名与你正尝试使用的委托签名不匹配。 Delegate 语句定义参数类型和委托类的返回类型。 任何具有匹配的参数、类型和返回类型的过程都可以用于创建此委托类型的实例。 下面的示例报告此错误,因为扩展方法 Example 的签名与委托 Del的签名不兼容。

VB
' Definition of the delegate, with two parameters.  
Delegate Sub Del(ByVal m As Integer, ByVal s As String)  
VB
' Definition of the extension method, with one parameter.  
<Extension()> _  
Sub Example(ByVal s As String)  
    ' Body of the Sub.  
End Sub  
VB
'' This assignment causes the error.  
' Dim exampleDel As Del = AddressOf Example  

错误 ID: BC36580

更正此错误

  • 验证委托和扩展方法是否具有相同数量的参数。

  • 验证委托和扩展方法中的参数顺序是否相同。

  • 将每个委托参数的数据类型与相应扩展方法参数的数据类型进行比较,以确保它们兼容。

另请参阅