你如何在vb.net中像c#一样内联代理?

时间:2008-12-09 04:41:31

标签: vb.net

是否可以像在c#中一样在vb.net中创建内联委托?

例如,我希望能够像这样做内联:

myObjects.RemoveAll(delegate (MyObject m) { return m.X >= 10; });

仅限VB,无需执行此类操作

myObjects.RemoveAll(AddressOf GreaterOrEqaulToTen) 

Private Function GreaterOrEqaulToTen(ByVal m as MyObject)
    If m.x >= 10 Then 
         Return true
    Else
         Return False
    End If
End Function

- 编辑 - 我应该提到我仍在使用.net 2.0,所以我将无法使用lambdas。

2 个答案:

答案 0 :(得分:27)

myObjects.RemoveAll(Function(m As MyObject) m.X >= 10)

请参阅Lambda Expressions on MSDN

答案 1 :(得分:7)

尝试:

myObjects.RemoveAll(Function(m) m.X >= 10)

这适用于3.5,不确定2.0语法。