public static object Deserialize(this System.Net.Http.Formatting.MediaTypeFormatter formatter, Type type, string value) { if (value == null) { return(null); } var bytes = formatter.SupportedEncodings.First().GetBytes(value.Trim('\0')); var ms = new System.IO.MemoryStream(bytes); var task = formatter.ReadFromStreamAsync(type, ms, null, null); return(task.Result); }
private T Deserialize <T>(System.Net.Http.Formatting.MediaTypeFormatter formatter, T value, string str, MediaTypeHeaderValue mediaType) where T : class { Stream stream = new MemoryStream(); StreamWriter writer = new StreamWriter(stream); HttpContent content = new StreamContent(stream); content.Headers.ContentType = mediaType; writer.Write(str); writer.Flush(); stream.Position = 0; return(formatter.ReadFromStreamAsync(typeof(T), stream, content, logFormatter).Result as T); }