看看这段代码:
private async void Lista()
{
var _folder = Windows.Storage.ApplicationData.Current.LocalFolder;
var file = await _folder.GetFileAsync("thefile.txt");
var read = await Windows.Storage.FileIO.ReadTextAsync(file);
}
Run Code Online (Sandbox Code Playgroud)
由于await我需要async在签名中使用代码块.这意味着我不能Retrun read在最后添加" ".(这是我想从该方法中获得的.)
根据我的理解,我需要以某种方式使用任务.有关如何检索的任何提示var read?
您可以将返回类型更改为 Task<string>
private async Task<string> Lista()
{
var _folder = Windows.Storage.ApplicationData.Current.LocalFolder;
var file = await _folder.GetFileAsync("thefile.txt");
var read = await Windows.Storage.FileIO.ReadTextAsync(file);
return read;
}
Run Code Online (Sandbox Code Playgroud)
来自MSDN
异步方法可以具有返回类型
Task,Task<TResult>或void.[...]如果Task<TResult>方法的return语句指定了TResult类型的操作数,则指定async方法的返回类型.如果方法完成时没有返回有意义的值,则使用Task.也就是说,对该方法的调用返回一个Task,但是当Task完成时,任何等待Task的await表达式都会返回void.