예제 #1
0
        public void Move(FilePath destination)
        {
            if (destination == null)
            {
                throw new ArgumentNullException(nameof(destination));
            }
            if (destination.IsRelative)
            {
                throw new ArgumentException("Destination must be absolute", nameof(destination));
            }

            LocalFileProvider.Retry(() => _file.MoveTo(destination.FullPath));
        }
예제 #2
0
        public void Copy(FilePath destination, bool overwrite)
        {
            if (destination == null)
            {
                throw new ArgumentNullException(nameof(destination));
            }
            if (destination.IsRelative)
            {
                throw new ArgumentException("Destination must be absolute", nameof(destination));
            }

            LocalFileProvider.Retry(() => _file.CopyTo(destination.FullPath, overwrite));
        }
예제 #3
0
 public IEnumerable <IFile> GetFiles(SearchOption searchOption = SearchOption.TopDirectoryOnly) =>
 LocalFileProvider.Retry(() => _directory.GetFiles("*", searchOption).Select(file => new LocalFile(file.FullName)));
예제 #4
0
 public IEnumerable <IDirectory> GetDirectories(SearchOption searchOption = SearchOption.TopDirectoryOnly) =>
 LocalFileProvider.Retry(() => _directory.GetDirectories("*", searchOption).Select(directory => new LocalDirectory(directory.FullName)));
예제 #5
0
 public void Delete(bool recursive) => LocalFileProvider.Retry(() => _directory.Delete(recursive));
예제 #6
0
 public void Create() => LocalFileProvider.Retry(() => _directory.Create());
예제 #7
0
 public Stream Open(FileMode fileMode, FileAccess fileAccess, FileShare fileShare) =>
 LocalFileProvider.Retry(() => _file.Open(fileMode, fileAccess, fileShare));
예제 #8
0
 public Stream OpenWrite() =>
 LocalFileProvider.Retry(() => _file.OpenWrite());
예제 #9
0
 public Stream OpenRead() =>
 LocalFileProvider.Retry(() => _file.OpenRead());
예제 #10
0
 public string ReadAllText() =>
 LocalFileProvider.Retry(() => File.ReadAllText(_file.FullName));
예제 #11
0
 public void Delete() => LocalFileProvider.Retry(() => _file.Delete());