internal static string GetSerializedArguments(string shortcutId, string uri) { var args = new JumpListArguments { ShortcutId = shortcutId, Uri = uri }; using (var ms = new MemoryStream()) { var ser = new DataContractJsonSerializer(typeof(JumpListArguments)); ser.WriteObject(ms, args); byte[] json = ms.ToArray(); return(Encoding.UTF8.GetString(json, 0, json.Length)); } }
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); } }