public override int GetHashCode() { if (_parent == null) { return(0); } return(HashCode.Combine(_parent.GetHashCode(), SystemPathComparer.GetHashCode(_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)); }