/// <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);
     }
 }
Пример #2
0
        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;
                }
            }
        }