當我遇到一個有趣的問題時,我正在將我的一個XNA項目移植到Monogame中。由於作爲Windows 8用戶,我的應用程序已被沙盒化,因此我無法使用我習慣於在內容目錄中提取文件列表的Directory.GetFiles方法。我的目標是獲取內容目錄中的文件列表,如(myappinstalllocation \ Content \ TypeofContent \ XmlFiles)。無法獲取MonoGame目錄中的文件列表
在XNA我會使用:
string[] skillFiles = Directory.GetFiles(path, "*.xml");
我試圖從MSDN下面的代碼,但異步方法有時無法返回了幾分鐘,有時根本:
string[] fileNames = SystemIO.getFileNames(path, "xml").Result;
public static async Task<string[]> getFileNames(string pPath, string pExt)
{
List<string> results = new List<string>();
StorageFolder folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync(pPath);
IReadOnlyList<StorageFile> contents = await folder.GetFilesAsync();
foreach (StorageFile file in contents)
{
if (file.FileType.Contains(pExt))
{
results.Add(file.Name);
}
}
return results.ToArray();
}
我不知道MonoGame是否提供了獲取文件名或WinStore API的方法。我希望儘可能動態加載我的內容,所以我希望這是可行的。
這個工作。我還必須將async關鍵字添加到調用getFilenames()的方法中 – ChargerIIC 2013-03-05 00:49:46