using FileManager_UWP.Model; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using Windows.Storage; using Windows.Web.Http.Headers; namespace FileManager_UWP.Service { /// /// 负责提供本地文件及文件夹访问服务 /// class FileService { /// /// 获得可显示的目录 /// /// 路径 /// 文件和文件夹列表 public async Task> GetDisplayFileFolderList(string path) { StorageFolder folder = null; try { folder = await StorageFolder.GetFolderFromPathAsync(path); IReadOnlyList folders = await folder.GetFoldersAsync(); IReadOnlyList files = await folder.GetFilesAsync(); List displayFileFolderItems = new List { await DisplayableFolder.GetParentAsync(folder) }; //displayFileFolderItems.AddRange(folders // .Select(async i => await DisplayFileFolderItem.GetInstance(i)) // .Select(i => i.Result) //); //displayFileFolderItems.AddRange(files // .Select(async i => await DisplayFileFolderItem.GetInstance(i)) // .Select(i => i.Result) //); foreach (var file in folders) { displayFileFolderItems.Add( await DisplayableFolder.GetInstanceAsync(file)); } foreach (var file in files) { displayFileFolderItems.Add( await DisplayableFile.GetInstanceAsync(file)); } return displayFileFolderItems; } catch (Exception ex) { Debug.WriteLine(ex.Message); throw; } } } }