Example #1
0
        /// <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);
        }
Example #2
0
 public void AddPathElement(PathElement pathElement)
 {
     _elements.Add(pathElement);
 }
Example #3
0
 public void AddPathElement(PathElement pathElement)
 {
     _elements.Add(pathElement);
 }