ラムダ式を使用するC#のこの行は、VB.Net内ではどうなりますか?C#からVB.Netへのラムダ式
string s = blockRenderer.Capture(() => RenderPartialExtensions.RenderPartial(h, userControl, viewData));
の機能を備えた何か - 私はそれがこのようなものでなければなりません正確にどのように...
ラムダ式を使用するC#のこの行は、VB.Net内ではどうなりますか?C#からVB.Netへのラムダ式
string s = blockRenderer.Capture(() => RenderPartialExtensions.RenderPartial(h, userControl, viewData));
の機能を備えた何か - 私はそれがこのようなものでなければなりません正確にどのように...
を把握することはできません。このオンラインC# to VB.NET converterをチェック
Dim s As String = blockRenderer.Capture(Function() RenderPartialExtensions.RenderPartial (h, userControl, viewData))
。それは常に完璧なものになるわけではありませんが、私はそれを使ったことがあります。
Dim s As String = blockRenderer.Capture(Function() RenderPartialExtensions.RenderPartial(h, userControl, viewData))
Dim s As String = _
blockRenderer.Capture(_
Function() RenderPartialExtensions.RenderPartial(h, userControl, viewData) _
)
VB.NETでのラムダ式は、戻り値を持っている必要があり、解決策は、ラッパー・メソッドです。
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