System.Xml.XPath.XPathNavigatorReader.Create C# (CSharp) Method

Create() static public method

static public Create ( XPathNavigator navToRead ) : XPathNavigatorReader
navToRead XPathNavigator
return XPathNavigatorReader
        static public XPathNavigatorReader Create(XPathNavigator navToRead ) {
            XPathNavigator nav = navToRead.Clone();
            IXmlLineInfo xli = nav as IXmlLineInfo;
            IXmlSchemaInfo xsi = nav as IXmlSchemaInfo;
#if NAVREADER_SUPPORTSLINEINFO
            if (null == xsi) {
                if (null == xli) {
                    return new XPathNavigatorReader(nav, xli, xsi);
                }
                else {
                    return new XPathNavigatorReaderWithLI(nav, xli, xsi);
                }
            }
            else {
                if (null == xli) {
                    return new XPathNavigatorReaderWithSI(nav, xli, xsi);
                }
                else {
                    return new XPathNavigatorReaderWithLIAndSI(nav, xli, xsi);
                }
            }
#else
            if (null == xsi) {
                return new XPathNavigatorReader(nav, xli, xsi);
            }
            else {
                return new XPathNavigatorReaderWithSI(nav, xli, xsi);
            }
#endif
        }