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)); }
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; }
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; }
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; }
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)); }
public DirectoryName CreateDirectoryName(DirectoryName parent, string name) { return(new RelativeDirectoryName(parent, InterName(name))); }
public FileName CreateFileName(DirectoryName parent, string name) { return(new FileName(parent, InterName(name))); }
public FileName CreateFileName(DirectoryName parent, string simpleName) { var relativePath = parent.RelativePathName.CreateChild(simpleName); return(new FileName(parent, relativePath)); }