Vb.net 匿名函数的扩展方法
我试图创建一个扩展方法,该方法基于lambda函数返回IEqualityComparer。以下是扩展方法:Vb.net 匿名函数的扩展方法,vb.net,extension-methods,anonymous-function,Vb.net,Extension Methods,Anonymous Function,我试图创建一个扩展方法,该方法基于lambda函数返回IEqualityComparer。以下是扩展方法: <Extension()> Public Function Comparer(Of T)(Func As Func(Of T, T, Boolean)) As IEqualityComparer(Of T) Return New GenericComparer(Of T)(Func) End Function 编译器报告错误 'Comparer' is not a m
<Extension()>
Public Function Comparer(Of T)(Func As Func(Of T, T, Boolean)) As IEqualityComparer(Of T)
Return New GenericComparer(Of T)(Func)
End Function
编译器报告错误
'Comparer' is not a member of '<anonymous method>'
所以我的问题是,我能不能以一种让我使用我正在寻找的单行程序样式的方式键入扩展方法?也就是说,我怎样才能输入扩展方法来接受匿名方法呢?坦白说,我认为这是不可能的。我就是这么想的,但我想可能有什么东西我在这里没有看到。
'Comparer' is not a member of '<anonymous method>'
Dim CICF As Func(Of String, String, Boolean) = (Function(a As String, b As String) As Boolean
If a.ToUpper = b.ToUpper Then
Return True
Else
Return False
End If
End Function)
Dim CIC = CICF.Comparer