public virtual void InitializeObject(MigrationContext context) { Type type = context.CurrentObject.GetType(); TypeMapping mapping = context.GetTypeMapping(type); if (null == mapping) { mapping = TypeMapping.Default; } FieldInfo[] fields = context.GetSerializableFields(type); foreach (FieldInfo field in fields) { context.EnterField(field); IFieldInitializer initializer = mapping.GetFieldInitializer(field.Name); initializer.InitializeField(context); context.LeaveField(); } }
public object SetObjectData(object obj, System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context, System.Runtime.Serialization.ISurrogateSelector selector) { _context.EnterObject(obj, info); Type type = obj.GetType(); TypeMapping mapping = _context.GetTypeMapping(type); IObjectInitializer initializer = mapping.Initializer; if (null != initializer) { initializer.InitializeObject(_context); } else { DefaultObjectInitializer.Default.InitializeObject(_context); } _context.LeaveObject(); return(null); }