アプリケーションでは、MVVM
レガシー コードで実行される長時間実行される計算があります。
そのレガシーコードは、MessageBox
続行するかどうかをユーザーに尋ねることを示しています。
今、私はこのコードをMVVM
できるだけ簡単に固執させたいと思っており、コールバックを渡して を表示し、MessageBox
内部で結果を評価することを考えました。
これを最も簡単に行うにはどうすればよいでしょうか。
コールバックの Action をよく見てきましたが、レガシー コード内で bool を操作する方法がわかりません。
表示する文字列をレガシー コードから渡し、MessageBox
決定 (bool) をレガシー コードに返したいと考えています。
注意: 今すぐ大きなリファクタリングを行う必要はありませんがMessageBox
、レガシー コードの内部を今すぐ取り除きたいと考えています。
おそらく、次のような関数を使用できます
private bool ShowMessageBox(string text)
{
var result = MessageBox.Show(text, "", MessageBoxButton.YesNo);
if (result.Equals(MessageBoxResult.Yes))
{
return true;
}
return false;
}
-編集-
なんか使ってみようかな
Action<string, Action<bool>>
メソッド署名の?従来のコードで bool にアクセスするにはどうすればよいですか?