2013-07-23 61 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是的。或者你可以保存「任務」,做一些工作,然後等待它。 –