Ejemplo n.º 1
0
 public static string GetDriveName(string fullPath)
 {
     var validator = new Validator(fullPath);
     var drive = new DriveParser(fullPath, validator);
     validator.ThrowOnError();
     return drive.AppendTo(string.Empty);
 }
Ejemplo n.º 2
0
        private void InternalBuildForRootedFile()
        {
            var drive = new DriveParser(_fullPath, _validator);
            if (_validator.HasError) return;

            var filename = new FilenameParser(drive.PathWithoutDrive, _validator);
            if (_validator.HasError) return;

            var folders = FoldersParser.WithDriveAndFilename(filename.PathWithoutFilename, _validator);
            if (_validator.HasError) return;

            _canonical = drive.AppendTo(filename.AppendTo(folders.Canonified));
            ValidateCanonicalPathLength();
        }
Ejemplo n.º 3
0
 private void ValidatePathNotRooted()
 {
     var noDriveValidator = new Validator(_fullPath);
     var drive = new DriveParser(_fullPath, noDriveValidator);
     _validator.Ensure<RootedPathException>(!drive.Exists, "The path '{0}' is rooted.");
     _validator.Ensure(!drive.Exists || !noDriveValidator.HasError, noDriveValidator);
 }
Ejemplo n.º 4
0
 private void InternalBuildForDrive()
 {
     var validator = new Validator(_fullPath);
     var drive = new DriveParser(_fullPath, validator);
     _canonical = drive.AppendTo(string.Empty);
     _validator.Ensure<InvalidPathException>(!validator.HasError, "The drive name '{0}' is not valid.");
     _validator.Ensure<InvalidPathException>(_canonical == _fullPath, "The drive name '{0}' is not valid.");
 }