protected override bool OnDeserializeUnrecognizedElement(string elementName, XmlReader reader) { if (IsBasic) { ConfigurationElement elem = null; if (elementName == ElementName) { elem = CreateNewElementInternal(null); } if (IsElementName(elementName)) { elem = CreateNewElementInternal(elementName); } if (elem != null) { elem.DeserializeElement(reader, false); BaseAdd(elem); modified = false; return(true); } } else { if (elementName == clearElementName) { reader.MoveToContent(); if (reader.MoveToNextAttribute()) { throw new ConfigurationErrorsException("Unrecognized attribute '" + reader.LocalName + "'."); } reader.MoveToElement(); reader.Skip(); BaseClear(); emitClear = true; modified = false; return(true); } else if (elementName == removeElementName) { ConfigurationElement elem = CreateNewElementInternal(null); ConfigurationRemoveElement removeElem = new ConfigurationRemoveElement(elem, this); removeElem.DeserializeElement(reader, true); BaseRemove(removeElem.KeyValue); modified = false; return(true); } else if (elementName == addElementName) { ConfigurationElement elem = CreateNewElementInternal(null); elem.DeserializeElement(reader, false); BaseAdd(elem); modified = false; return(true); } } return(false); }
protected override bool OnDeserializeUnrecognizedElement (string elementName, XmlReader reader) { if (IsBasic) { ConfigurationElement elem = null; if (elementName == ElementName) elem = CreateNewElementInternal (null); if (IsElementName (elementName)) elem = CreateNewElementInternal (elementName); if (elem != null) { elem.DeserializeElement (reader, false); BaseAdd (elem); modified = false; return true; } } else { if (elementName == clearElementName) { reader.MoveToContent (); if (reader.MoveToNextAttribute ()) throw new ConfigurationErrorsException ("Unrecognized attribute '" + reader.LocalName + "'."); reader.MoveToElement (); reader.Skip (); BaseClear (); emitClear = true; modified = false; return true; } else if (elementName == removeElementName) { ConfigurationElement elem = CreateNewElementInternal (null); ConfigurationRemoveElement removeElem = new ConfigurationRemoveElement (elem, this); removeElem.DeserializeElement (reader, true); BaseRemove (removeElem.KeyValue); modified = false; return true; } else if (elementName == addElementName) { ConfigurationElement elem = CreateNewElementInternal (null); elem.DeserializeElement (reader, false); BaseAdd (elem); modified = false; return true; } } return false; }