/// <summary> /// Moves the directory. /// </summary> public void MoveDirectory([NotNull] string sourceDirectory, [NotNull] string destination, [CanBeNull] IFileSystem destinationSystem = null) { Validate.ArgumentNotNull(sourceDirectory, "sourceDirectory"); Validate.ArgumentNotNull(destination, "destination"); if (destinationSystem == null || destinationSystem == this) { Directory.Move(sourceDirectory, destination); } else { var op = new VirtualFileOperations(this, destinationSystem); op.MoveDirectory(sourceDirectory, destination); } }
/// <summary> /// Moves or renames the directory. /// </summary> /// <param name="sourceDirectory">The source directory.</param> /// <param name="destination">The destination.</param> /// <param name="destinationSystem">The destination system. Optional. </param> public void MoveDirectory([NotNull] string sourceDirectory, [NotNull] string destination, [CanBeNull] IFileSystem destinationSystem = null) { Validate.ArgumentNotNull(sourceDirectory, "sourceDirectory"); Validate.ArgumentNotNull(destination, "destination"); CheckDisposed(); // implemented as a set of simple operations var operations = new VirtualFileOperations(this, destinationSystem ?? this); operations.MoveDirectory(sourceDirectory, destination); }