2009-06-11 3 views
1

람다 식을 사용하는 C#의이 줄은 VB.Net에서 무엇이 될까요?C#에서 VB.Net까지 람다 식

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

답변

5

하지만 정확히 어떻게 알아낼 수 없습니다 ... -의 기능

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

뭔가. 그것은 항상 완벽한 물건을 얻지는 못하지만, 나는 그것을 사용 해왔다. VB.NET 람다 표현식 반환 값을 가질 필요

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

은 용액 래퍼 방법이다.

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