C# 来自wait DisplayAlert Xamarin.Forms的结果

C# 来自wait DisplayAlert Xamarin.Forms的结果,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,Xamarin具有可等待的DisplayAlert方法,该方法返回Task 我有staticclassHelpers在这里我想写这样的代码: public static bool DisplayAlert(string title, string message, string accept, string cancel){ //return answer from Page.DisplayAlert(title, message, accept, cancel); } 此方法将从应用

Xamarin具有可等待的
DisplayAlert
方法,该方法返回
Task

我有
static
class
Helpers
在这里我想写这样的代码:

public static bool DisplayAlert(string title, string message, string accept, string cancel){
    //return answer from Page.DisplayAlert(title, message, accept, cancel);
}
此方法将从应用程序的其他部分调用,如:

public ... SomeMethod(){
    // some code
    bool result = DisplayAlert(...);
    // some code
}
我想避免
SomeMethod
中的
async/wait
。(如何异步等待用户的响应?!!!!!)

我尝试了
Wait Page.DisplayAlert(…)
task.Wait()
和其他方法。但是
任务
是异步执行的,没有返回值。或者应用程序永久冻结而不显示
DisplayAlert


怎么做?最佳做法是什么?

如果希望
SomeMethod
保持同步,这是一个选项:

public async static Task<bool> DisplayAlert(string title, string message, string accept, 
string cancel){
 return await Page.DisplayAlert(title, message, accept, cancel);
}

// SomeMethod will run Synchronously
public boolean SomeMethod(){
  bool result = StaticClass.DisplayAlert(..).Result;
  return result;
}
public async static Task DisplayAlert(字符串标题、字符串消息、字符串接受、,
字符串(取消){
返回等待页面。显示警报(标题、消息、接受、取消);
}
//SomeMethod将同步运行
公共布尔方法(){
bool result=StaticClass.DisplayAlert(..).result;
返回结果;
}

编辑:修复了一些语法

谢谢,但是这段代码会死锁(((一直使用async对我来说似乎不合逻辑…不是死锁,它将同步等待DisplayAlert返回结果。这不是死锁的定义。我尝试过,但出现了死锁。好吧,那么为什么你希望
SomeMethod
同步?在移动世界中,你很少需要同步调用,你永远不应该阻止你的进程。)用户界面在任何情况下