2013-07-23 31 views
0

我正在使用PCLStorage并需要读取文件的方法。我将使用JSON序列化,所以我只需要从文件中读取保存的内容:如何从异步操作返回字符串?

 public async string ReadFromFile(string filename) 
     { 
      IFolder rootFolder = FileSystem.Current.LocalStorage; 
      IFolder folder = await rootFolder.CreateFolderAsync("MySubFolder", CreationCollisionOption.OpenIfExists); 
      IFile file = await folder.GetFileAsync(filename); 
      string content = await file.ReadAllTextAsync(); 

      return content; 
     } 

,但我不能返回字符串,它必须是无效,任务或任务。

有没有简单的方法我可以从这个方法返回字符串?也许通过调用另一种方法?

+0

可以返回一个字符串,像这样的公共异步任务 YourAsyncMethod(){回报“测试”;} – Ehsan

回答

2

你需要返回一个Task<string>,像这样:

public async Task<string> ReadFromFile(string filename) 
{ 
    IFolder rootFolder = FileSystem.Current.LocalStorage; 
    IFolder folder = await rootFolder.CreateFolderAsync("MySubFolder", 
     CreationCollisionOption.OpenIfExists); 
    IFile file = await folder.GetFileAsync(filename); 
    string content = await file.ReadAllTextAsync(); 

    return content; 
} 
+0

哦,那不是更难.. 。但是当我使用它时,我还得等待这种方法吗? – Jason94

+0

@ Jason94是的。或者你可以保存“任务”,做一些工作,然后等待它。 –