/// <summary> /// Преобразует строковое представление json ответа в эквивалентный ему класс <see cref="SystemFolders"/>. Возвращает значение, указывающее, успешно ли выполнено преобразование. /// </summary> /// <param name="s">Строка, содержащая преобразуемый json ответ.</param> /// <param name="result">При возвращении этим методом содержиткласс <see cref="SystemFolders"/>, эквивалентный json ответу, содержащемуся в параметре s, если преобразование выполнено успешно, или null, если оно завершилось сбоем. Преобразование завершается сбоем, если параметр s равен null или <see cref="System.String.Empty"/> или не находится в правильном формате. Этот параметр передается неинициализированным; любое значение, первоначально предоставленное в объекте result, будет перезаписано.</param> /// <returns>Значение true, если параметр s успешно преобразован; в противном случае — значение false.</returns> public static bool TryParse(string s, out SystemFolders result) { try { result = Parse(s); return(true); } catch { result = null; return(false); } }
internal Disk(JsonTextReader jsonReader) { int depth = jsonReader.Depth; while (jsonReader.Read()) { switch (jsonReader.TokenType) { case JsonToken.PropertyName: switch (jsonReader.Value.ToString()) { case "max_file_size": MaxFileSize = long.Parse(jsonReader.ReadAsString()); break; case "total_space": TotalSpace = long.Parse(jsonReader.ReadAsString()); break; case "trash_size": TrashSize = long.Parse(jsonReader.ReadAsString()); break; case "is_paid": IsPaid = jsonReader.ReadAsBoolean().Value; break; case "used_space": UsedSpace = long.Parse(jsonReader.ReadAsString()); break; case "system_folders": SystemFolders = new SystemFolders(jsonReader); break; case "revision": Revision = long.Parse(jsonReader.ReadAsString()); break; } break; case JsonToken.EndObject: if (jsonReader.Depth == depth) { return; } break; } } }