/// <summary> /// given the appropriate serializer, the envelope payload is deserialized /// </summary> /// <param name="ser"></param> /// <returns></returns> public object DeserializePayload(ISerializationUtil ser) { Condition.Requires(ser).IsNotNull(); Condition.Requires(ser.Id).IsEqualTo(this.Id); object obj = ser.Deserialize(this.InstanceType, this.SerializedData); return(obj); }
/// <summary> /// builds a new envelope from a raw object /// </summary> /// <param name="ser"></param> /// <param name="obj"></param> public static SerializationEnvelope New(ISerializationUtil ser, object obj) { Condition.Requires(ser).IsNotNull(); Condition.Requires(obj).IsNotNull(); SerializationEnvelope rv = new SerializationEnvelope(); rv.Id = ser.Id; rv.InstanceType = obj.GetType(); rv.SerializedData = ser.Serialize(obj); return(rv); }