我正在尝试创建一个显示对话框结果的代码:
var result = this.ShowMessageAsync("proceed?", "Info", MessageDialogStyle.AffirmativeAndNegative);
if (result == MessageDialogResult.Affirmative)
{
this.Hide();
}
但是这行if (result == MessageDialogResult.Affirmative)
上的编译器向我显示了这条消息:
你不能将==运算符应用于类型'任务'的操作数。和' MessageDialogResult'
在某些例子中,它使用了这个运算符,我做错了什么?
答案 0 :(得分:1)
ShowMessageAsync()
似乎是一种异步方法,这意味着它会返回Task<T>
而不是T
。
所以你可以await
这样的任务:
var result = await this.ShowMessageAsync("proceed?", "Info", MessageDialogStyle.AffirmativeAndNegative);
或者你可以得到它的Result
:
var result = this.ShowMessageAsync("proceed?", "Info", MessageDialogStyle.AffirmativeAndNegative)
.Result;
如果您想要await
任务,则必须使用标记为async
的方法