/// <summary> /// Constructor /// </summary> /// <param name="fileSystems">The file systems.</param> public FileSystem(IEnumerable <IFileSystem> fileSystems) { fileSystems ??= Array.Empty <IFileSystem>(); FileSystems = fileSystems.Where(x => x.GetType().Assembly != typeof(FileSystem).Assembly) .ToDictionary(x => x.Name); foreach (var FileSystem in fileSystems.Where(x => x.GetType().Assembly == typeof(FileSystem).Assembly)) { if (!FileSystems.ContainsKey(FileSystem.Name)) { FileSystems.Add(FileSystem.Name, FileSystem); } } }