public static RealtimeMessage Deserialize(string serialized) { if (!serialized.StartsWith("{")) { return(null); } var response = JsonConvert.DeserializeObject <RealtimeMessage>(serialized); if (response?.Event == null) { return(null); } var responseType = MessageTypes.FirstOrDefault( type => RealtimeMessageAttribute.GetValue(type) .Equals(response.Event, StringComparison.InvariantCultureIgnoreCase)); if (responseType == null) { return(null); } return(JsonConvert.DeserializeObject(serialized, responseType) as RealtimeMessage); }
public RealtimeMessage() { Event = RealtimeMessageAttribute.GetValue(GetType()); }