嗯,我知道有更性感的方法可以使用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)
完美无缺。