public FileContainer(PathPart parent, string name) : base(name)
 {
     Parent = parent;
     Parent.Add(this);
     if (this != MappedData.AddData(this))
     {
         throw new Exception("Duplicated.");
     }
 }
Exemple #2
0
        PathPart AddNodes(PathPart current, IList <string> pathParts)
        {
            var res = current;
            var i   = 0;

            if (current == null)
            {
                res = Drives[Drives.Add(new DriveContainer(pathParts[i++]))];
            }
            for (; i < pathParts.Count; i++)
            {
                res = new DirectoryContainer(res, pathParts[i]);
            }
            return(res);
        }
 public DirectoryContainer(PathPart parent, string name) : base(name)
 {
     Parent = parent;
     Parent.Add(this);
 }
Exemple #4
0
 PathPart Extend(PathPart path, IList <string> toPathParts) => AddNodes(path, path == null ? toPathParts : toPathParts.Skip(path.FullPathParts.Length).ToArray());
Exemple #5
0
 PathPart Extend(PathPart path, string ToPath) => Extend(path, ToPath.PathParts());