Reflection gives your code access to internal information for classes loaded into the CLR. It allows you to explore the structure of objects at runtime. In the case of reflection metadata is the description of classes and objects within the CLR, including their fields, methods and constructors. It allows the programmer to select target classes at runtime, create new objects, call their methods and operate with the fields.
In order to persist object db4o uses the reflection to read object and store their values. You can exchange this reflector layer in the configuration.
IEmbeddedConfiguration configuration = Db4oEmbedded.NewConfiguration(); configuration.Common.ReflectWith(new FastNetReflector());
Dim configuration As IEmbeddedConfiguration = Db4oEmbedded.NewConfiguration() configuration.Common.ReflectWith(New FastNetReflector())
There are currently two reflectors available:
If you need some special treatment you can create you're own reflector implementation. See "Creating your own reflector"
db4o has also a generic reflector which can deal with stored objects without using the original class. See "GenericReflector"