/// <summary> /// Creates a <see cref="RelativePath"/> instance from a relative /// path string (e.g. "foo\\bar\\blah.txt"). /// </summary> public RelativePath(string relativePath) { Invariants.CheckArgumentNotNull(relativePath, nameof(relativePath)); Invariants.CheckArgument(!PathHelpers.IsAbsolutePath(relativePath), nameof(relativePath), "Path must be relative."); // Empty string is the same as the empty relative path _relativePath = relativePath == "" ? null : relativePath; }
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 static FullPath GetProjectPath(this NodeViewModel node) { Invariants.CheckArgumentNotNull(node, nameof(node)); for (; node != null; node = node.Parent) { if (node is RootNodeViewModel) { return(node.FullPath); } } throw Invariants.Fail("Unable to determine project path of node"); }
public SlimHashTable(Func <TValue, TKey> keyProvider, int capacity, IEqualityComparer <TKey> comparer, ICollectionGrowthPolicy growthPolicy) { Invariants.CheckArgumentNotNull(keyProvider, nameof(keyProvider)); Invariants.CheckArgument(capacity >= 0, nameof(capacity), "Capacity must be positive"); Invariants.CheckArgumentNotNull(comparer, nameof(comparer)); Invariants.CheckArgumentNotNull(growthPolicy, nameof(growthPolicy)); _getKey = keyProvider; _capacity = capacity; _comparer = comparer; _growthPolicy = growthPolicy; var length = GetPrimeLength(capacity); Initialize(length); }
public FileNodeViewModel(NodeViewModel parent) : base(parent) { Invariants.CheckArgumentNotNull(parent, nameof(parent)); }