System.Xaml.XamlReader.Skip C# (CSharp) Method

Skip() public method

public Skip ( ) : void
return void
		public virtual void Skip ()
		{
			int count = 0;
			switch (NodeType) {
			case XamlNodeType.StartMember:
			case XamlNodeType.StartObject:
			case XamlNodeType.GetObject:
				count++;
				while (Read ()) {
					switch (NodeType) {
					case XamlNodeType.StartMember:
					case XamlNodeType.GetObject:
					case XamlNodeType.StartObject:
						count++;
						continue;
					case XamlNodeType.EndMember:
					case XamlNodeType.EndObject:
						count--;
						if (count == 0) {
							Read ();
							return;
						}
						continue;
					}
				}
				return;

			default:
				Read ();
				return;
			}
		}
	}

Usage Example

Esempio n. 1
0
		protected void Read_XmlDocument (XamlReader r)
		{
			for (int i = 0; i < 3; i++) {
				r.Read ();
				Assert.AreEqual (XamlNodeType.NamespaceDeclaration, r.NodeType, "#1-" + i);
			}
			r.Read ();

			Assert.AreEqual (new XamlType (typeof (XmlDocument), r.SchemaContext), r.Type, "#2");
			r.Read ();
			var l = new List<XamlMember> ();
			while (r.NodeType == XamlNodeType.StartMember) {
			// It depends on XmlDocument's implenentation details. It fails on mono only because XmlDocument.SchemaInfo overrides both getter and setter.
			//for (int i = 0; i < 5; i++) {
			//	Assert.AreEqual (XamlNodeType.StartMember, r.NodeType, "#3-" + i);
				l.Add (r.Member);
				r.Skip ();
			}
			Assert.IsNotNull (l.FirstOrDefault (m => m.Name == "Value"), "#4-1");
			Assert.IsNotNull (l.FirstOrDefault (m => m.Name == "InnerXml"), "#4-2");
			Assert.IsNotNull (l.FirstOrDefault (m => m.Name == "Prefix"), "#4-3");
			Assert.IsNotNull (l.FirstOrDefault (m => m.Name == "PreserveWhitespace"), "#4-4");
			Assert.IsNotNull (l.FirstOrDefault (m => m.Name == "Schemas"), "#4-5");
			Assert.AreEqual (XamlNodeType.EndObject, r.NodeType, "#5");
			Assert.IsFalse (r.Read (), "#6");
		}
All Usage Examples Of System.Xaml.XamlReader::Skip