public object Deserialize(System.Xml.XmlReader xmlReader) { if (!xmlReader.IsStartElement("Trigger")) { throw new System.Exception("Element Trigger expected"); } //xmlReader.MoveToAttribute("AssemblyQualifiedName"); xmlReader.MoveToAttribute("Type"); Type type = SerializerHelper.TriggerTypes[xmlReader.Value]; //Type.GetType(xmlReader.Value); if (type == null) { throw new System.Exception("Tipo não identificado."); } ITrigger trigger = (ITrigger)Activator.CreateInstance(type); xmlReader.ReadStartElement(); SerializerHelper.ReadWhiteSpace(xmlReader); while (xmlReader.IsStartElement()) { SerializerHelper.FillProperty(xmlReader, trigger); SerializerHelper.ReadWhiteSpace(xmlReader); } xmlReader.ReadEndElement(); SerializerHelper.ReadWhiteSpace(xmlReader); return(trigger); }
public virtual object Deserialize(System.Xml.XmlReader xmlReader) { IAction action = (IAction)Activator.CreateInstance(type); xmlReader.ReadStartElement(); SerializerHelper.ReadWhiteSpace(xmlReader); while (xmlReader.IsStartElement()) { SerializerHelper.FillProperty(xmlReader, action); SerializerHelper.ReadWhiteSpace(xmlReader); } xmlReader.ReadEndElement(); SerializerHelper.ReadWhiteSpace(xmlReader); return(action); }