Beispiel #1
0
        private static DataSet <T> GetDirectoryItems <T>(string path, CancellationToken ct)
            where T : DirectoryItem, new()
        {
            var result = DataSet <T> .Create();

            if (string.IsNullOrEmpty(path))
            {
                return(result);
            }

            foreach (var folder in DirectoryTreeItem.GetSubDirectories(path))
            {
                DirectoryInfo directoryInfo = new DirectoryInfo(folder);
                result.AddRow((_, x) => _.Initialize(x, directoryInfo));
                ct.ThrowIfCancellationRequested();
            }

            foreach (var file in GetFiles(path))
            {
                FileInfo fileInfo = new FileInfo(file);
                result.AddRow((_, x) => _.Initialize(x, fileInfo));
                ct.ThrowIfCancellationRequested();
            }

            return(result);
        }