public FileSystemItemBase(IDirectoryInfo directory, string name, IFileSystemItem parent, bool isValid, TryCreateFileSystemItem tryCreateChild = null) { Directory = directory; Name = name; Parent = parent; _itemItselfIsValid = isValid; if (tryCreateChild != null) { Children = directory.GetChildrenFileSystemItems(this, tryCreateChild); } else { Children = ImmutableList <IFileSystemItem> .Empty; } UpdateIsValid(); }
private ArchiveRoot(string archiveRootDirectoryPath) { _directoryPath = archiveRootDirectoryPath; _directoryInfo = FileSystemProvider.Instance.DirectoryInfo.FromDirectoryName(archiveRootDirectoryPath); Children = _directoryInfo.GetChildrenFileSystemItems(null, AssetDirectory.TryCreate); }