2017-09-18 15 views
1

へのC#から変換した後、私はこれは、変換されたVB.NETのコードであるhttp://converter.telerik.com/エラーVB.NET

public static MessageBoxResult Show(string caption, string text, MessageBoxButton button, MessageBoxImage image) 
{ 
    _messageBox = new WpfMessageBox { Label1 = { Content = caption }, Label2 = { Content = text } }; 
    return _result; 
} 

を経由してVB.NETのコードに以下のC#コードを変換しています。ここで

Public Shared Function Show(caption As String, text As String, button As MessageBoxButton, image As MessageBoxImage) As MessageBoxResult 
    _messageBox = New WpfMessageBox() With { _ 
     Key .Label1 = {Key .Content = caption}, _ 
     Key .Label2 = {Key .Content = text} _ 
    } 
    Return _result 
End Function 

は誤りです:

Error

+0

これはvb.netでは間違いなく無効な構文です。インライン初期化を使用してWpfMessageBoxを初期化する方法については、読んでおく必要があります。または、最初にWpfMessageBoxのインスタンスを作成し、そのプロパティを設定します。 –

答えて

1

ここでコンバーターには匿名のタイプが含まれていると思われるようですが、そうではありません。 Keyを削除します。

Public Shared Function Show(caption As String, text As String, button As MessageBoxButton, image As MessageBoxImage) As MessageBoxResult 
    _messageBox = New WpfMessageBox() 
    _messageBox.Label1.Content = caption 
    _messageBox.Label2.Content = text 
    Return _result 
End Function 
+0

@MarkoMarkowitz: 'System.Windows.Controls'がインポートされたと仮定して、新しいラベル()を追加するように更新されました。 – Ryan

+0

@MarkoMarkowitz:申し訳ありませんが、 'WpfMessageBox'を作成するときと同じ、' New Label()With'というキーワードを忘れました。 – Ryan

2

これは、コンバータのバグです。

Key prefixは、匿名型が平等に影響するために使用されます。型付きオブジェクトのイニシャライザでは合法ではありません。

これを削除します。

関連する問題