Обнновлено до .net10

This commit is contained in:
FrigaT
2026-04-10 15:05:32 +03:00
parent 11d0b0d72f
commit 8444fc5f8e
386 changed files with 6361 additions and 7164 deletions

View File

@@ -1,54 +1,8 @@
namespace YandexMusic.API.Models.Radio.Restriction
namespace YandexMusic.API.Models.Radio.Restriction;
public class YRestriction
{
public sealed class YRestrictionConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return typeof(YRestriction).IsAssignableFrom(objectType);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
if (reader.TokenType == JsonToken.Null)
return null;
JObject jObject = JObject.Load(reader);
YRestriction restriction;
try
{
YRestrictionType type = jObject["type"].ToObject<YRestrictionType>();
switch (type)
{
case YRestrictionType.Enum:
restriction = jObject.ToObject<YRestrictionEnum>();
break;
case YRestrictionType.DiscreteScale:
restriction = jObject.ToObject<YRestrictionDiscreteScale>();
break;
default:
restriction = jObject.ToObject<YRestriction>();
break;
}
}
catch (Exception ex)
{
throw new Exception($"Ошибка десериализации типа \"{objectType.Name}\".", ex);
}
return restriction;
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
throw new NotImplementedException();
}
}
public class YRestriction
{
public string Name { get; set; }
public YRestrictionType Type { get; set; }
}
public string Name { get; set; }
public YRestrictionType Type { get; set; }
}