2012-05-09 10 views
1

私は初めてテキストファイルを読むことができます。次回同じテキストファイルを読み込もうとすると、関数を終了しnull値を返します。メトロアプリでテキストファイルを読み取れませんか?

static string configData = ""; 
    async public void readtextFile(string folder, string file) 
    { 
     StorageFolder storageFolder = await Package.Current.InstalledLocation.GetFolderAsync(folder); 
     StorageFile storageFile = await storageFolder.GetFileAsync(file); 
     configData = await FileIO.ReadTextAsync(storageFile); 
    } 

この問題を解決する方法を、私を提案してください。..

おかげ SheikAbdullah

答えて

4

readtextFileが非同期メソッドであることを忘れないでください。あなたがそれを呼び出すと、それは実際に最初のawaitに達したときに戻るので、この時点でconfigDataはまだ設定されていません。あなたは、メソッドから値を返す、と方法を待つ必要があります。

async public Task<string> readtextFile(string folder, string file) 
{ 
    StorageFolder storageFolder = await Package.Current.InstalledLocation.GetFolderAsync(folder); 
    StorageFile storageFile = await storageFolder.GetFileAsync(file); 
    string configData = await FileIO.ReadTextAsync(storageFile); 
    return configData; 
} 

... 

string configData = await readTextFile(folder, file); 

あなたがフィールドにconfigDataを保存したい場合でも、あなたが値を読む前に、あなたはまだawait readtextFileする必要があります。

+0

これは私の問題を解決します.... – SheikAbdullah

関連する問題