您好,想知道是否有人可以将以下代码翻译成vb.net。任何帮助将不胜感激。
void ShowNewPage()
{
Dispatcher.Invoke((Action)delegate
{
if (contentPresenter.Content != null)
{
UserControl oldPage = contentPresenter.Content as UserControl;
if (oldPage != null)
{
oldPage.Loaded -= newPage_Loaded;
UnloadPage(oldPage);
}
}
else
{
ShowNextPage();
}
});
}
答案 0 :(得分:2)
在Google上快速搜索:translate C# to vb.net
会让您继续前行;)
但是为了答案,你走吧!
<强>更新:强>
Private Sub ShowNewPage()
Dispatcher.Invoke(DirectCast(
Sub()
If contentPresenter.Content IsNot Nothing Then
Dim oldPage As UserControl = TryCast(contentPresenter.Content, UserControl)
If oldPage IsNot Nothing Then
oldPage.Loaded -= newPage_Loaded
UnloadPage(oldPage)
End If
Else
ShowNextPage()
End If
End Sub,
Action))
End Sub
答案 1 :(得分:1)
在线翻译并不总是有效。他们对linq和lambdas特别不好。
以下是我对翻译的尝试:
Private Sub ShowNewPage()
Dispatcher.Invoke(Sub() ShowNewPageCallback())
End Sub
Private Sub ShowNewPageCallback()
If contentPresenter.Content IsNot Nothing Then
Dim oldPage As UserControl = TryCast(contentPresenter.Content, UserControl)
If oldPage IsNot Nothing Then
RemoveHandler oldPage.Loaded, AddressOf newPage_Loaded
UnloadPage(oldPage)
End If
Else
ShowNextPage()
End If
End Sub
如果您决定在将来发布此类问题以供日后参考,请提及您已尝试翻译并展示您的翻译。大多数人都希望看到你自己做了一些努力。