public void ReadXml(XmlReader reader) { if (reader == null) { return; } if (String.Equals(reader.Name, "Parameter", StringComparison.OrdinalIgnoreCase)) { name = reader.GetAttribute("name"); } if (reader.IsEmptyElement) { return; } XmlNodeType nodeType = XmlNodeType.None; while (reader.Read()) { nodeType = reader.NodeType; if (nodeType == XmlNodeType.Element) { if (String.Equals(reader.Name, "Parameter", StringComparison.OrdinalIgnoreCase)) { name = reader.GetAttribute("name"); } else if (reader.Name.EndsWith("TypeReference", StringComparison.OrdinalIgnoreCase)) { type = ReferencesReader.ReadTypeReference(reader); } } else if (nodeType == XmlNodeType.EndElement) { if (String.Equals(reader.Name, "Parameter", StringComparison.OrdinalIgnoreCase)) { break; } } } }
protected override void OnReadXml(XmlReader reader) { base.OnReadXml(reader); // This reads only the target node... if (!String.Equals(reader.Name, "ProcedureTarget", StringComparison.OrdinalIgnoreCase)) { return; } string tempText = reader.GetAttribute("conversionOperator"); if (!String.IsNullOrEmpty(tempText)) { conversionOperator = Boolean.Parse(tempText); } XmlNodeType nodeType = XmlNodeType.None; while (reader.Read()) { nodeType = reader.NodeType; if (nodeType == XmlNodeType.Element) { // Read the base contents in... if (String.Equals(reader.Name, "MemberTarget", StringComparison.OrdinalIgnoreCase)) { base.OnReadXml(reader); } else if (reader.Name.IndexOf("Member", 0, StringComparison.OrdinalIgnoreCase) >= 0) { explicitlyImplements = ReferencesReader.ReadMemberReference(reader); } } else if (nodeType == XmlNodeType.EndElement) { if (String.Equals(reader.Name, "ProcedureTarget", StringComparison.OrdinalIgnoreCase)) { break; } } } }
protected override void OnReadXml(XmlReader reader) { base.OnReadXml(reader); // This reads only the target node... if (!String.Equals(reader.Name, "MethodTarget", StringComparison.OrdinalIgnoreCase)) { return; } if (reader.IsEmptyElement) { return; } parameters = new List <Parameter>(); templates = new List <string>(); XmlNodeType nodeType = XmlNodeType.None; while (reader.Read()) { nodeType = reader.NodeType; if (nodeType == XmlNodeType.Element) { // Read the base contents in... if (String.Equals(reader.Name, "ProcedureTarget", StringComparison.OrdinalIgnoreCase)) { base.OnReadXml(reader); } else if (reader.Name.EndsWith("TypeReference", StringComparison.OrdinalIgnoreCase)) { returnType = ReferencesReader.ReadTypeReference(reader); } else if (String.Equals(reader.Name, "Parameters", StringComparison.OrdinalIgnoreCase)) { while (reader.Read()) { nodeType = reader.NodeType; if (nodeType == XmlNodeType.Element) { if (String.Equals(reader.Name, "Parameter", StringComparison.OrdinalIgnoreCase)) { Parameter parameter = new Parameter(); parameter.ReadXml(reader); parameters.Add(parameter); } } else if (nodeType == XmlNodeType.EndElement) { if (String.Equals(reader.Name, "Parameters", StringComparison.OrdinalIgnoreCase)) { break; } } } } else if (String.Equals(reader.Name, "TemplateArgs", StringComparison.OrdinalIgnoreCase)) { while (reader.Read()) { nodeType = reader.NodeType; if (nodeType == XmlNodeType.Element) { if (reader.Name.EndsWith("TypeReference", StringComparison.OrdinalIgnoreCase)) { TypeReference typeRef = ReferencesReader.ReadTypeReference(reader); if (typeRef != null) { if (templateArgs == null) { templateArgs = new List <TypeReference>(); } templateArgs.Add(typeRef); } } } else if (nodeType == XmlNodeType.EndElement) { if (String.Equals(reader.Name, "TemplateArgs", StringComparison.OrdinalIgnoreCase)) { break; } } } } else if (String.Equals(reader.Name, "Templates", StringComparison.OrdinalIgnoreCase)) { while (reader.Read()) { nodeType = reader.NodeType; if (nodeType == XmlNodeType.Element) { if (String.Equals(reader.Name, "Template", StringComparison.OrdinalIgnoreCase)) { templates.Add(reader.GetAttribute("value")); } } else if (nodeType == XmlNodeType.EndElement) { if (String.Equals(reader.Name, "Templates", StringComparison.OrdinalIgnoreCase)) { break; } } } } } else if (nodeType == XmlNodeType.EndElement) { if (String.Equals(reader.Name, "MethodTarget", StringComparison.OrdinalIgnoreCase)) { break; } } } }
protected override void OnReadXml(XmlReader reader) { base.OnReadXml(reader); // This reads only the target node... if (!String.Equals(reader.Name, "PropertyTarget", StringComparison.OrdinalIgnoreCase)) { return; } parameters = new List <Parameter>(); XmlNodeType nodeType = XmlNodeType.None; while (reader.Read()) { nodeType = reader.NodeType; if (nodeType == XmlNodeType.Element) { // Read the base contents in... if (String.Equals(reader.Name, "ProcedureTarget", StringComparison.OrdinalIgnoreCase)) { base.OnReadXml(reader); } else if (reader.Name.EndsWith("TypeReference", StringComparison.OrdinalIgnoreCase)) { returnType = ReferencesReader.ReadTypeReference(reader); } else if (String.Equals(reader.Name, "Parameters", StringComparison.OrdinalIgnoreCase)) { while (reader.Read()) { nodeType = reader.NodeType; if (nodeType == XmlNodeType.Element) { if (String.Equals(reader.Name, "Parameter", StringComparison.OrdinalIgnoreCase)) { Parameter parameter = new Parameter(); parameter.ReadXml(reader); parameters.Add(parameter); } } else if (nodeType == XmlNodeType.EndElement) { if (String.Equals(reader.Name, "Parameters", StringComparison.OrdinalIgnoreCase)) { break; } } } } } else if (nodeType == XmlNodeType.EndElement) { if (String.Equals(reader.Name, "PropertyTarget", StringComparison.OrdinalIgnoreCase)) { break; } } } }