Provide Dynamic, Customizable Xml Serialization/Deserialization Through base implementation of ILinqToXml and IXmlSerializable


Ideally, this functionality is intended primarily for Nvigorate classes, specifically in the Data.Query namespace because there are so many classes and likely to be many more, the ability to provide out-of-the-box implementations of ILinqToXml which are easy to customize where warranted has become my new top priority.
The base class will implement XML serialization through reflection against the class's fields (not properties) much like the DeepClone functionality in Reflector. This choice was made because many .Net framework classes and classes written by others may need to serialize/deseriliaze values which are not exposed by properties but may still be vital to completing the instance.
Customizations will be simple to provide and will be specified either by the type or the specific field. Customizations will be stored in protected dictionaries which the base class will refer to when serializing/deserializing and any custom function provided will be called at runtime instead of the default behavior. Accessing the dictionaries will take place through protected method calls; RegisterCustomTypeSerializers and RegisterCustomerFieldSerializers. This is to ensure that adding these customizations is simple and that a serializer and deserializer must be provided to prevent exceptions during deserialization.
Closed Jun 11, 2009 at 4:25 AM by arobson


wrote Apr 8, 2009 at 6:38 AM

Associated with changeset 23965.

wrote Apr 8, 2009 at 3:36 PM

Associated with changeset 23979.

wrote Jun 11, 2009 at 4:25 AM

wrote Jan 21, 2013 at 6:26 PM

wrote May 14, 2013 at 6:45 AM