private static XElement CreateWithType(XElement el, PropertyInfo prop) { XElement xel = new XElement(el); if (prop.PropertyType.IsEnum) { xel.Add(new XAttribute("Type", Enum.GetUnderlyingType(prop.PropertyType.UnderlyingSystemType).Name)); } else { xel.Add(new XAttribute("Type", prop.PropertyType.Name)); } return xel; }