private static void ScanEvents(ElementDef elementDef) { foreach (var eventInfo in elementDef.Type.GetEvents().Where(ei => ei.IsDefined(typeof(XmlEventAttribute), false))) { elementDef.AddAttribute(eventInfo.Name, eventInfo); } }
private static void ScanProperties(ElementDef elementDef) { foreach (var propertyInfo in elementDef.Type.GetProperties().Where(pi => pi.IsDefined(typeof(XmlPropertyAttribute), false))) { if (m_AttributeValueConverters.ContainsKey(propertyInfo.PropertyType)) { elementDef.AddAttribute(propertyInfo.Name, propertyInfo); } else { throw new XmlException(String.Format("No converter found for an attribute '{0}' value type '{1}'.", propertyInfo.Name, propertyInfo.PropertyType.Name)); } } }