Lambda错误:"委托给实例方法不能为null'这个'"

时间:2018-04-11 14:47:26

标签: vb.net web-services .net-3.5

嗯,我知道有更性感的方法可以使用Contains(string val)代替Any,但这对我没有意义;为什么我收到以下错误:

  

System.ArgumentException:委托给实例方法不能为null' this'。    在System.MulticastDelegate.ThrowNullThisInDelegateToInstance()    在System.MulticastDelegate.CtorClosed(对象目标,IntPtr methodPtr)      在C:\ OurService \ Service.asmx.vb中的OurService.Service.GetSomething(String foo):第820行

这是函数本身;

<WebMethod()> _
Public Function GetSomething(ByVal foo As String) As List(Of FooObj)
    Dim lst As New List(Of FooObj)()
    Dim foos() As String = [Enum].GetNames(GetType(MyDLL.eMyEnum))
    ' \/\/\/ IT CRASHES ON THE VERY NEXT LINE \/\/\/ 
    If (foos.Any(Function(f) f = foo)) Then
        ' Some Stuff
    End If
    Return lst
End Function

此外,请注意foos.Where(function(f) f = foo).count() > 0也会崩溃。但是,foos.Contains(foo)完美无缺。

0 个答案:

没有答案