예제 #1
0
        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);
            }
        }
예제 #2
0
 protected virtual void OnFilteredDirectoryFinded(DirectoryEventArgs args)
 {
     FilteredDirectoryFinded?.Invoke(this, args);
 }