我有一個工作「保存閱讀器」,可以將不需要的數據從winform中刪除,然後返回稱爲「項目」的字符串列表。在Windows Store應用程序中調用異步任務?
我的問題是,當轉換此用於與Winstore應用程序一起使用;我無法調用異步任務,我需要使用一個來訪問該文件。
我不是100%確定如何做到這一點,所以任何幫助表示讚賞;這是迄今爲止我所擁有的。 public SaveGame(StorageFile文件) File = promptUser(); }
拋出一個錯誤,我試圖做的構造異步,但拋出更多的錯誤
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Windows.Storage;
using Windows.Storage.Pickers;
namespace save_game_reader
{
class SaveGame
{
private StorageFile File { get; set; }
public SaveGame(StorageFile file)
{
File = promptUser();
Task<StorageFile> returnedTaskTResult = promptUser();
StorageFile intResult = await promptUser();
}
public async Task<List<string>> GetAllItems()
{
string WholeSaveString = await Windows.Storage.FileIO.ReadTextAsync(File);
List<string> ToReturn = new List<string>();
List<string> SplitList = WholeSaveString.Split(new string[] { "data" }, StringSplitOptions.None).ToList();
foreach (string line in SplitList)
{
var start = line.IndexOf("value") + 6;
var end = line.IndexOf("type", start);
if (end != -1)
{
string substring = line.Substring(start, (end - start) - 8);
if (substring.Length >= 4)
{
ToReturn.Add(substring);
}
}
}
return ToReturn;
}
private async Task<StorageFile> promptUser()
{
var picker = new FileOpenPicker();
picker.ViewMode = PickerViewMode.Thumbnail;
picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
StorageFile sf = await picker.PickSingleFileAsync();
return sf;
}
}
}
你是什麼意思的「我不能稱之爲異步任務」? Windows Store應用程序開發肯定支持'async' ... –
抱歉,生病澄清。 我寫了我的異步任務,但我不知道如何給他們打電話。 so publicGame(StorageFile file) File = promptUser(); }拋出一個錯誤 –
嗯,是的,你需要'等待'任務'得到'StorageFile' ...但這只是正常的異步/等待,並且與它是一個Windows應用商店應用無關。而你將無法在構造函數中做到這一點...... –