private T AddFileSystemItem <T>(T item) where T : FileSystemItem { if (item == null) { throw new ArgumentNullException(nameof(item)); } if (FileSystemItems.ContainsKey(item.Key)) { throw new ArgumentException($"Item {item.Key} is already added"); } FileSystemItems.Add(item.Key, item); return(item); }
private void ChangeOpenedItemsByNewItemType() { switch (openedFileSystemItem.Type) { case FileSystemItemType.Directory: FileSystemItems.AddRange(openedFileSystemItem.Children); break; case FileSystemItemType.File: openedFileSystemItem.ModifyArea(FileSystemItemAreaType.MaximumArea); FileSystemItems.Add(openedFileSystemItem); break; } }