在一个MVVM
应用程序中,我有一个在遗留代码中运行的长时间运行的计算。
该遗留代码显示MessageBox
询问用户是否应继续。
现在我希望这段代码MVVM
尽可能简单,并考虑提交一个回调来显示MessageBox
和评估里面的结果。
这怎么做最容易?
经常看到回调的 Action,但我不知道如何在遗留代码中使用 bool。
我想传递字符串以显示在MessageBox
遗留代码中,并将决定(一个布尔值)返回给遗留代码。
请注意:我现在不必进行更大的重构,但现在想摆脱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>>
对于方法签名?如何访问旧代码中的布尔值?