public object Deserialize(IFudgeFieldContainer msg, IFudgeDeserializer deserializer, Action<object, SerializationInfo, StreamingContext> deserializeMethod) { // Create without construction and register before we call the constructor in case there are any cycles object result = FormatterServices.GetUninitializedObject(type); deserializer.Register(msg, result); var converter = new DeserializingFormatterConverter(deserializer); var si = new SerializationInfo(this.type, converter); PopulateSerializationInfo(si, msg); beforeAfterMixin.CallBeforeDeserialize(result); deserializeMethod(result, si, streamingContext); beforeAfterMixin.CallAfterDeserialize(result); return result; }
public object Deserialize(IFudgeFieldContainer msg, IFudgeDeserializer deserializer, Action <object, SerializationInfo, StreamingContext> deserializeMethod) { // Create without construction and register before we call the constructor in case there are any cycles object result = FormatterServices.GetUninitializedObject(type); deserializer.Register(msg, result); var converter = new DeserializingFormatterConverter(deserializer); var si = new SerializationInfo(this.type, converter); PopulateSerializationInfo(si, msg); beforeAfterMethodHelper.CallBeforeDeserialize(result); deserializeMethod(result, si, streamingContext); beforeAfterMethodHelper.CallAfterDeserialize(result); return(result); }