Beispiel #1
0
 public FileName(DirectoryName parent, string name)
 {
     Invariants.CheckArgumentNotNull(parent, nameof(parent));
     Invariants.CheckArgumentNotNull(name, nameof(name), "File name is empty");
     Invariants.CheckArgument(PathHelpers.IsFileName(name), nameof(name), "File name contains one or more directory separator");
     _parent = parent;
     _name   = name;
 }
 public RelativeDirectoryName(DirectoryName parent, string name)
 {
     Invariants.CheckArgumentNotNull(parent, nameof(parent));
     Invariants.CheckArgumentNotNull(name, nameof(name), "Directory name is empty");
     Invariants.CheckArgument(PathHelpers.IsFileName(name), nameof(name), "Directory name contains one or more directory separator");
     _parent   = parent;
     _name     = name;
     _hashCode = HashCode.Combine(_parent.GetHashCode(), SystemPathComparer.GetHashCode(_name));
 }
Beispiel #3
0
 public FileName(DirectoryName parent, RelativePathName relativePathName)
 {
     if (parent == null)
     {
         throw new ArgumentNullException("parent");
     }
     if (relativePathName.IsEmpty)
     {
         throw new ArgumentException("Relative path is empty", "relativePathName");
     }
     _parent           = parent;
     _relativePathName = relativePathName;
 }
Beispiel #4
0
 public RelativeDirectoryName(DirectoryName parent, RelativePath relativePath)
 {
     if (parent == null)
     {
         throw new ArgumentNullException("parent");
     }
     if (relativePath.IsEmpty)
     {
         throw new ArgumentException("Relative path is empty", "relativePath");
     }
     _parent       = parent;
     _relativePath = relativePath;
 }
Beispiel #5
0
 public FileName(DirectoryName parent, RelativePath relativePath)
 {
     if (parent == null)
     {
         throw new ArgumentNullException(nameof(parent));
     }
     if (relativePath.IsEmpty)
     {
         throw new ArgumentException("Relative path is empty", nameof(relativePath));
     }
     _parent       = parent;
     _relativePath = relativePath;
 }
Beispiel #6
0
        private RelativePath BuildRelativePath()
        {
            Invariants.CheckOperation(_parent != null, "File name is invalid (uninitialized value type)");

            // Aquire the StringBuilder from thread static variable.
            if (_dangerousThreadStaticStringBuilder == null)
            {
                _dangerousThreadStaticStringBuilder = new StringBuilder(128);
            }
            var sb = _dangerousThreadStaticStringBuilder;

            sb.Clear();

            // Build the relative path
            DirectoryName.BuildRelativePath(sb, _parent);
            if (sb.Length > 0)
            {
                sb.Append(PathHelpers.DirectorySeparatorChar);
            }
            sb.Append(_name);
            return(new RelativePath(sb.ToString()));
        }
        public DirectoryName CreateDirectoryName(DirectoryName parent, string name)
        {
            var relativePath = parent.RelativePath.CreateChild(name);

            return(new RelativeDirectoryName(parent, relativePath));
        }
Beispiel #8
0
 public DirectoryName CreateDirectoryName(DirectoryName parent, string name)
 {
     return(new RelativeDirectoryName(parent, InterName(name)));
 }
Beispiel #9
0
 public FileName CreateFileName(DirectoryName parent, string name)
 {
     return(new FileName(parent, InterName(name)));
 }
Beispiel #10
0
        public FileName CreateFileName(DirectoryName parent, string simpleName)
        {
            var relativePath = parent.RelativePathName.CreateChild(simpleName);

            return(new FileName(parent, relativePath));
        }