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; namespace FileManager_UWP.Service { /// /// 负责提供本地文件及文件夹访问服务 /// class FileService { /// /// 获得可显示的目录 /// /// 路径 /// 文件和文件夹列表 public async Task> GetDisplayFileFolderList(string path) { StorageFolder folder = null; try { folder = await StorageFolder.GetFolderFromPathAsync(path); } catch (Exception ex) { Debug.WriteLine(ex.Message); } IReadOnlyList folders = await folder.GetFoldersAsync(); IReadOnlyList files = await folder.GetFilesAsync(); //List displayFileFolderItems = // folders.Select(async i => // await DisplayFileFolderItem.GetInstance(i)); //displayFileFolderItems.AddRange(files.Select( // i => new DisplayFileFolderItem(i))); // displayFileFolderItems.AddRange(files.Select(DisplayFileFolderItem.getInstance) as IEnumerable); List displayFileFolderItems = new List(); foreach (var file in folders) { displayFileFolderItems.Add( await DisplayFileFolderItem.GetInstance(file)); } foreach (var file in files) { displayFileFolderItems.Add( await DisplayFileFolderItem.GetInstance(file) ); } return displayFileFolderItems; } } }