public void Deserialize(CompactReader reader) { _messageId = reader.ReadObject() as string; TimeToLive = reader.ReadDouble(); AssigmentTime = reader.ReadObject() as DateTime?; TopicName = reader.ReadObject() as string; DeliveryOption = (DeliveryOption)reader.ReadInt32(); MessgeFailureReason = (MessgeFailureReason)reader.ReadInt32(); SubscriptionType = (SubscriptionType)reader.ReadInt32(); IsAssigned = reader.ReadBoolean(); IsNotify = reader.ReadBoolean(); AbsoluteExpiratoinTime = reader.ReadObject() as DateTime?; DeliveryFailed = reader.ReadBoolean(); EverAcknowledged = reader.ReadBoolean(); ExpirationTime = reader.ReadInt64(); _recepientList = SerializationUtility.DeserializeHashSet <string>(reader); _subscriptons = new HashSet <ISubscription>(); }