internal static JumpListArguments DeserializeArguments(string json) { // Support for backwards compatibility from v0.5 if (json.Contains("||")) { var parts = json.Split(new[] { "||" }, StringSplitOptions.RemoveEmptyEntries); return(new JumpListArguments(parts[0], parts[1])); } var args = new JumpListArguments(); using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(json))) { var ser = new DataContractJsonSerializer(args.GetType()); args = ser.ReadObject(ms) as JumpListArguments; return(args); } }