コード例 #1
0
        private async void GenerateDrivers()
        {
            IReadOnlyList <StorageFile>   files     = null;
            IReadOnlyList <StorageFolder> foldersIn = null;

            var drives = await Windows.Storage.KnownFolders.RemovableDevices.GetItemsAsync();

            if (portableDrives.Count < drives.Count)
            {
                foreach (var drive in drives)
                {
                    if (PortableDrives.Where(p => p.Name == drive.Name).Select(b => b).Count() != 0)
                    {
                    }
                    else
                    {
                        var currentDrive = new PortableDrive {
                            Name = drive.Name, Files = files, Folders = foldersIn
                        };
                        PortableDrives.Add(currentDrive);
                        currentDrive.Files   = await((StorageFolder)drive).GetFilesAsync();
                        currentDrive.Folders = await((StorageFolder)drive).GetFoldersAsync();
                    }
                }
            }
        }
コード例 #2
0
        public static void EnumerateChildren(PortableDrive drive, FolderItem fi, List <IFolder> folders, List <IFile> files)
        {
            folders.Clear();
            files.Clear();

            if (fi.IsFolder)
            {
                foreach (FolderItem child in (fi.GetFolder as Folder).Items())
                {
                    if (child.IsLink)
                    {
                        // android shortcut " + child.Name
                        Debug.Assert(false);
                    }
                    else if (child.IsFolder)
                    {
                        folders.Add(new PortableFolder(drive, child));
                    }
                    else
                    {
                        files.Add(new PortableFile(drive, child as FolderItem2));
                    }
                }
            }
        }