public static MemberTarget ReadMemberTarget(XmlReader reader) { if (reader == null || reader.NodeType != XmlNodeType.Element) { return(null); } switch (reader.Name) { case "MemberTarget": MemberTarget memberTarget = new MemberTarget(); memberTarget.ReadXml(reader); return(memberTarget); case "ConstructorTarget": ConstructorTarget constructorTarget = new ConstructorTarget(); constructorTarget.ReadXml(reader); return(constructorTarget); case "ProcedureTarget": ProcedureTarget procedTarget = new ProcedureTarget(); procedTarget.ReadXml(reader); return(procedTarget); case "EventTarget": EventTarget eventTarget = new EventTarget(); eventTarget.ReadXml(reader); return(eventTarget); case "PropertyTarget": PropertyTarget propertyTarget = new PropertyTarget(); propertyTarget.ReadXml(reader); return(propertyTarget); case "MethodTarget": MethodTarget methodTarget = new MethodTarget(); methodTarget.ReadXml(reader); return(methodTarget); } return(null); }
public static Target ReadTarget(XmlReader reader) { if (reader == null || reader.NodeType != XmlNodeType.Element) { return(null); } switch (reader.Name) { case "Target": Target target = new Target(); target.ReadXml(reader); return(target); case "NamespaceTarget": NamespaceTarget namespaceTarget = new NamespaceTarget(); namespaceTarget.ReadXml(reader); return(namespaceTarget); case "TypeTarget": TypeTarget typeTarget = new TypeTarget(); typeTarget.ReadXml(reader); return(typeTarget); case "EnumerationTarget": EnumerationTarget enumTarget = new EnumerationTarget(); enumTarget.ReadXml(reader); return(enumTarget); case "MemberTarget": MemberTarget memberTarget = new MemberTarget(); memberTarget.ReadXml(reader); return(memberTarget); case "ConstructorTarget": ConstructorTarget constructorTarget = new ConstructorTarget(); constructorTarget.ReadXml(reader); return(constructorTarget); case "ProcedureTarget": ProcedureTarget procedTarget = new ProcedureTarget(); procedTarget.ReadXml(reader); return(procedTarget); case "EventTarget": EventTarget eventTarget = new EventTarget(); eventTarget.ReadXml(reader); return(eventTarget); case "PropertyTarget": PropertyTarget propertyTarget = new PropertyTarget(); propertyTarget.ReadXml(reader); return(propertyTarget); case "MethodTarget": MethodTarget methodTarget = new MethodTarget(); methodTarget.ReadXml(reader); return(methodTarget); } return(null); }
protected override void OnReadXml(XmlReader reader) { base.OnReadXml(reader); // This reads only the target node... if (!String.Equals(reader.Name, "EnumerationTarget", StringComparison.OrdinalIgnoreCase)) { return; } elements = new List <MemberTarget>(); XmlNodeType nodeType = XmlNodeType.None; while (reader.Read()) { nodeType = reader.NodeType; if (nodeType == XmlNodeType.Element) { // Read the base contents in... if (String.Equals(reader.Name, "TypeTarget", StringComparison.OrdinalIgnoreCase)) { base.OnReadXml(reader); } else if (String.Equals(reader.Name, "Elements", StringComparison.OrdinalIgnoreCase)) { while (reader.Read()) { nodeType = reader.NodeType; if (nodeType == XmlNodeType.Element) { if (reader.Name.IndexOf("Target", 0, StringComparison.OrdinalIgnoreCase) >= 0) { MemberTarget target = TargetsReader.ReadMemberTarget(reader); if (target != null) { elements.Add(target); } } } else if (nodeType == XmlNodeType.EndElement) { if (String.Equals(reader.Name, "Elements", StringComparison.OrdinalIgnoreCase)) { break; } } } } } else if (nodeType == XmlNodeType.EndElement) { if (String.Equals(reader.Name, "EnumerationTarget", StringComparison.OrdinalIgnoreCase)) { break; } } } }