我更新了Visual Studio,现在收到很多这样的消息:
public ICommand OpenWebPageCmd => new Command<string>(async (url) =>
{
await Browser.OpenAsync(new Uri(url), BrowserLaunchMode.SystemPreferred);
});
异步方法“匿名”不应返回void
我看到了一些其他并非特定于此扩展程序的答案。使用浏览器选项打开新页面时,有什么方法可以解决此问题?
答案 0 :(得分:0)
答案here解释
异步等待仅与
Func<Task>
或Func<Task<T>>
兼容,如果您没有,那么您将拥有不应被视为的“异步无效”。
由于Browser.OpenAsync
返回Task
而不是Func<Task>
,因此您有两个选择
不等待任务:
public ICommand OpenWebPageCmd => new Command<string>((url) =>
{
Browser.OpenAsync(new Uri(url), BrowserLaunchMode.SystemPreferred);
});
使用支持异步功能的更好的委托命令。类似于Nito.Mvvm.Async编写的Stephen Cleary NuGet包中的AsyncCommand。
有关更多信息,请阅读接受的答案here