示例#1
0
        //Unused method, but maybe someone wants it for manual testing or something?
                #pragma warning disable 0219
        public void Execute()
        {
            var root = AbsoluteDirectoryPath.Parse("root");

            var file1 = root.Combine("Templates").Combine("Projects").Combine(new FileName("example.exe"));

            var file2 = root / "Templates" / "Projects" / new FileName("example.exe");

            IAbsolutePath absFileOrDirectory = file2;

            absFileOrDirectory.Do(
                (AbsoluteFilePath file) => Console.Out.WriteLine("File " + file),
                (AbsoluteDirectoryPath dir) => Console.Out.WriteLine("Dir " + dir));

            IFilePath absOrRelFile = file2;

            absOrRelFile.Do(
                (AbsoluteFilePath abs) => Console.Out.WriteLine("Abs " + abs),
                (RelativeFilePath rel) => Console.Out.WriteLine("Rel " + rel));


            var relativePath = RelativeDirectoryPath.Empty / ".." / "Programs" / "Fuse" / "Data";

            var rebased = root / relativePath;

            var common             = root / "a" / "b";
            var nop                = common.RelativeTo(common);
            var downUp             = (common / "left").RelativeTo(common / "right");
            var downDownUpUp       = (common / "left" / "left2").RelativeTo(common / "right" / "right2");
            var downDownDownUpUpUp = (common / "left" / "left2" / "left3").RelativeTo(common / "right" / "right2" / "right3");



            var left  = common / "lc" / "ld";
            var right = common / "rc" / "rd" / "re";

            var rightToLeft = left.RelativeTo(right);
            var leftToRight = right.RelativeTo(left);
            var leftToLeft  = left.RelativeTo(left);

            var a = common / leftToLeft;
            var b = a == common;
        }
示例#2
0
 public static void Move(this IFileSystem fileSystem, IAbsolutePath source, IAbsolutePath destination)
 {
     source.Do(
         (AbsoluteFilePath file) => fileSystem.Move(file, (AbsoluteFilePath)destination),
         (AbsoluteDirectoryPath dir) => fileSystem.Move(dir, (AbsoluteDirectoryPath)destination));
 }
示例#3
0
 public void Delete(IAbsolutePath path)
 {
     path.Do(
         (AbsoluteFilePath file) => File.Delete(file.NativePath),
         (AbsoluteDirectoryPath directory) => Directory.Delete(directory.NativePath, true));
 }