代码之家  ›  专栏  ›  技术社区  ›  wusher

如何在vb.net中实现像c#这样的内联委托?

  •  20
  • wusher  · 技术社区  · 17 年前

    是否可以像在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
    

    我应该提到,我仍然在.NET2.0中工作,所以我将无法使用lambdas。

    2 回复  |  直到 17 年前
        1
  •  28
  •   BlackMael    17 年前
    myObjects.RemoveAll(Function(m As MyObject) m.X >= 10)
    

    看见 Lambda Expressions on MSDN

        2
  •  7
  •   Shawn    17 年前

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

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