4
我试图创建一个基于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
这里是我要找的使用,
Dim CICF = (Function(a As String, b As String) As Boolean
If a.ToUpper = b.ToUpper Then
Return True
Else
Return False
End If
End Function).Comparer
如果我分配功能来显式类型,编译器将报告错误
'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
所以我的问题是,我可以输入扩展方法的方式,让我使用我期待的单线风格?那就是说,如何输入扩展方法来接受匿名方法?
这就是我的想法,但我想也许有什么我没有看到这里。 – Kratz