public void AddEventProcessor(XmlNode node) { var attr = node.Attributes; if (attr != null) { string[] parts = attr["type"].Value.Split(','); var assembly = Assembly.Load(parts[1].Trim()); var type = assembly.GetType(parts[0]); AuditEventType o = Activator.CreateInstance(type) as AuditEventType; if (o != null) { o.Color = attr["color"].Value; o.Id = attr["id"].Value; o.Label = attr["label"].Value; AuditLogger.Current.RegisterEventType(o); EventHandler e = (sender, args) => { o.Process(sender, args); }; Event.Subscribe(attr["event"].Value, e); } } }