private FileSystemVisitorEventArgs CallFindEvent(FileSystemInfo item, bool isFilteredCall) { switch (item.GetType()) { case Type type when typeof(DirectoryInfo) == type: { DirectoryEventArgs args = new DirectoryEventArgs() { Directory = item }; if (isFilteredCall) { OnFilteredDirectoryFinded(args); } else { OnDirectoryFinded(args); } return(args); } case Type type when typeof(FileInfo) == type: { FileEventArgs args = new FileEventArgs() { File = item }; if (isFilteredCall) { OnFilteredFileFinded(args); } else { OnFileFinded(args); } return(args); } default: return(null); } }
protected virtual void OnFilteredDirectoryFinded(DirectoryEventArgs args) { FilteredDirectoryFinded?.Invoke(this, args); }