我正在尝试(没有成功)异步调用函数并等待其返回值
bool result = Task.Factory.StartNew(() => { return StupidFunction(someParameter); }).Result;
if (result)
MessageBox.Show("Yes");
else
MessageBox.Show("No");
其中愚蠢的函数是public static bool
函数
并且应用程序永远挂起。
答案 0 :(得分:0)
解决了
Task.Run(() =>
{
if (StupidFunction(someParameter))
Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() => MessageBox.Show(Application.Current.MainWindow, "yes")));
else
Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() => MessageBox.Show(Application.Current.MainWindow, "no")));
});