Opc.Ua.RelativePathFormatter.Element.Parse C# (CSharp) Method

Parse() public static method

Extracts a relative path element from a string.
public static Parse ( StringReader reader ) : Element
reader System.IO.StringReader The string read stream containing the text to convert to a RelativePathStringElement
return Element
            public static Element Parse(StringReader reader)
            {
                Element element = new Element();

                int next = reader.Peek();

                switch (next)
                {
                    case '/':
                    {
                        element.ElementType = ElementType.AnyHierarchical;
                        reader.Read();
                        break;
                    }

                    case '.':
                    {
                        element.ElementType = ElementType.AnyComponent;
                        reader.Read();
                        break;
                    }

                    case '<':
                    {
                        element.ElementType = ElementType.ForwardReference;
                        reader.Read();
                        
                        if (reader.Peek() == '#')
                        {
                            element.IncludeSubtypes = false;
                            reader.Read();
                        }

                        if (reader.Peek() == '!')
                        {
                            element.ElementType = ElementType.InverseReference;
                            reader.Read();
                        }

                        element.ReferenceTypeName = ParseName(reader, true);
                        break;
                    }

                    default:
                    {
                        element.ElementType = ElementType.AnyHierarchical;
                        break;
                    }
                }

                element.TargetName = ParseName(reader, false);

                return element;
            }
            #endregion