【问题标题】:Lambda expression from C# to VB.Net从 C# 到 VB.Net 的 Lambda 表达式
【发布时间】:2009-06-11 14:59:03
【问题描述】:

这行 C# 使用 Lambda 表达式在 VB.Net 中会是什么?

string s = blockRenderer.Capture(() => RenderPartialExtensions.RenderPartial(h, userControl, viewData));

功能的东西 - 但我不知道究竟是如何......

【问题讨论】:

    标签: c# vb.net lambda


    【解决方案1】:

    应该是这样的:

    Dim s As String = blockRenderer.Capture(Function() RenderPartialExtensions.RenderPartial (h, userControl, viewData))
    

    【讨论】:

      【解决方案2】:

      在线查看C# to VB.NET converter。它并不总是让事情变得完美,但它在我使用它的所有时间里都做得很好。

      Dim s As String = blockRenderer.Capture(Function() RenderPartialExtensions.RenderPartial(h, userControl, viewData))
      

      【讨论】:

        【解决方案3】:
        Dim s As String = _
            blockRenderer.Capture( _
                Function() RenderPartialExtensions.RenderPartial(h, userControl, viewData) _
             )
        

        【讨论】:

          【解决方案4】:

          VB.NET中的Lambda表达式需要有返回值,解决方法是包装方法。

          Public Shared Function RenderPartialToString(ByVal userControl As String, ByVal viewData As Object, ByVal tempData As Object, ByVal controllerContext As ControllerContext) As String
          
                  Dim h As New HtmlHelper(New ViewContext(controllerContext, New WebFormView("omg"), viewData, tempData), New ViewPage())
                  Dim blockRenderer As New MvcContrib.UI.BlockRenderer(controllerContext.HttpContext)
                  Dim s = blockRenderer.Capture(New Action(Function() renderPartialLambda(h, userControl, viewData)))
          
                  Return s
          
          End Function
          
          
          
          
          
          Private Shared Function renderPartialLambda(ByVal html As HtmlHelper, ByVal userControl As String, ByVal viewData As Object)
                          RenderPartialExtensions.RenderPartial(html, userControl, viewData)
                          Return Nothing
          End Function
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-11-12
            • 1970-01-01
            • 1970-01-01
            • 2011-05-09
            • 1970-01-01
            相关资源
            最近更新 更多