/// <summary> /// /// </summary> /// <param name="reader"></param> /// <returns></returns> public static IXamlNode Parse(TextReader reader) { if (null == reader) { throw new ArgumentNullException(nameof(reader)); } using (var tokenizer = new XamlTokenizer(reader)) { var context = new XamlParsingContext(); // var root = new XamlRootNode(); // var stack = new Stack<XamlNode>(); // stack.Push(root); try { var parser = new XamlParser(tokenizer); parser.Parse(context); context.ValidateDocument(new XamlDocumentValidator()); } catch (Exception exception) { // var position = tokenizer.GetSourcePosition(); throw new XamlParsingException(); } return context.DocumentRoot; } }
private XamlParser(XamlTokenizer tokenizer) { this.tokenizer = tokenizer; comparer = StringComparer.Ordinal; }
/// <summary> /// Выполняет инициализацию нового экземпляра класса <see cref="T:System.Exception"/>, используя указанное сообщение об ошибке. /// </summary> public TokenizerException(XamlTokenizer tokenizer, string message) : base(message) { Tokenizer = tokenizer; }