/// <summary> /// Returns all path elements defined by this path object. /// </summary> /// <returns> /// A list of path elements. /// </returns> public StringCollection GetElements() { StringCollection result = StringUtils.Clone(_translatedElements); foreach (object path in _elements) { if (path is PathSet) { foreach (string part in ((PathSet)path).GetElements()) { if (!result.Contains(part)) { result.Add(part); } } } else if (path is PathElement) { PathElement pathElement = (PathElement)path; if (!pathElement.IfDefined || pathElement.UnlessDefined) { continue; } foreach (string part in ((PathElement)path).Parts) { if (!result.Contains(part)) { result.Add(part); } } } } return(result); }
public void AddPathElement(PathElement pathElement) { _elements.Add(pathElement); }