public void ReadXml(XmlReader xmlReader) { Name = xmlReader.GetAttribute("name"); Namespace = xmlReader.GetAttribute("namespace"); Kind = (TypeKind)Enum.Parse(typeof(TypeKind), xmlReader.GetAttribute("kind")); Obsolete = string.Equals(xmlReader.GetAttribute("obsolete"), "true", StringComparison.OrdinalIgnoreCase); ObsoleteMessage = xmlReader.GetAttribute("obsoleteMessage"); if (!xmlReader.IsEmptyElement) { var childReader = xmlReader.ReadSubtree(); while (childReader.Read()) { if (childReader.NodeType == XmlNodeType.Element) { if (childReader.Name == "change") { var typeChangeInfo = new TypeChangeInfo(); typeChangeInfo.ReadXml(xmlReader); Changes.Add(typeChangeInfo); } else if (childReader.Name == "member") { var member = new MemberInfo(); member.ReadXml(xmlReader); Members.Add(member); } } } } }
private static string GetDetails(TypeChangeInfo tc, MemberChangeInfo mc) { if (mc != null) { var detail = ""; if (!string.IsNullOrEmpty(mc.Old)) { detail = mc.Old; if (!string.IsNullOrEmpty(mc.New)) { detail += " \u2192 "; } } if (!string.IsNullOrEmpty(mc.New)) { detail += mc.New; } return detail; } return null; }