Fix enum converters (fixes #306)

This commit is contained in:
Matt Nadareski
2021-11-01 12:02:07 -07:00
parent b9eedd1cf6
commit fe6487eeb4
4 changed files with 17 additions and 35 deletions

View File

@@ -889,7 +889,7 @@ namespace MPF.Library
sw.WriteLine(line);
}
}
catch
catch (Exception ex)
{
// We don't care what the error is right now
return false;
@@ -921,7 +921,7 @@ namespace MPF.Library
gs.Write(jsonBytes, 0, jsonBytes.Length);
}
}
catch
catch (Exception ex)
{
// We don't care what the error is right now
return false;

View File

@@ -8,25 +8,19 @@ namespace RedumpLib.Converters
/// <summary>
/// Serialize DiscCategory enum values
/// </summary>
public class DiscCategoryConverter : JsonConverter<DiscCategory?[]>
public class DiscCategoryConverter : JsonConverter<DiscCategory?>
{
public override bool CanRead { get { return false; } }
public override DiscCategory?[] ReadJson(JsonReader reader, Type objectType, DiscCategory?[] existingValue, bool hasExistingValue, JsonSerializer serializer)
public override DiscCategory? ReadJson(JsonReader reader, Type objectType, DiscCategory? existingValue, bool hasExistingValue, JsonSerializer serializer)
{
throw new NotImplementedException();
}
public override void WriteJson(JsonWriter writer, DiscCategory?[] value, JsonSerializer serializer)
public override void WriteJson(JsonWriter writer, DiscCategory? value, JsonSerializer serializer)
{
JArray array = new JArray();
foreach (var val in value)
{
JToken t = JToken.FromObject(val.LongName() ?? string.Empty);
array.Add(t);
}
array.WriteTo(writer);
JToken t = JToken.FromObject(value.LongName() ?? string.Empty);
t.WriteTo(writer);
}
}
}

View File

@@ -8,25 +8,19 @@ namespace RedumpLib.Converters
/// <summary>
/// Serialize DiscType enum values
/// </summary>
public class DiscTypeConverter : JsonConverter<DiscType?[]>
public class DiscTypeConverter : JsonConverter<DiscType?>
{
public override bool CanRead { get { return false; } }
public override DiscType?[] ReadJson(JsonReader reader, Type objectType, DiscType?[] existingValue, bool hasExistingValue, JsonSerializer serializer)
public override DiscType? ReadJson(JsonReader reader, Type objectType, DiscType? existingValue, bool hasExistingValue, JsonSerializer serializer)
{
throw new NotImplementedException();
}
public override void WriteJson(JsonWriter writer, DiscType?[] value, JsonSerializer serializer)
public override void WriteJson(JsonWriter writer, DiscType? value, JsonSerializer serializer)
{
JArray array = new JArray();
foreach (var val in value)
{
JToken t = JToken.FromObject(val.LongName() ?? string.Empty);
array.Add(t);
}
array.WriteTo(writer);
JToken t = JToken.FromObject(value.LongName() ?? string.Empty);
t.WriteTo(writer);
}
}
}

View File

@@ -8,25 +8,19 @@ namespace RedumpLib.Converters
/// <summary>
/// Serialize YesNo enum values
/// </summary>
public class YesNoConverter : JsonConverter<YesNo[]>
public class YesNoConverter : JsonConverter<YesNo>
{
public override bool CanRead { get { return false; } }
public override YesNo[] ReadJson(JsonReader reader, Type objectType, YesNo[] existingValue, bool hasExistingValue, JsonSerializer serializer)
public override YesNo ReadJson(JsonReader reader, Type objectType, YesNo existingValue, bool hasExistingValue, JsonSerializer serializer)
{
throw new NotImplementedException();
}
public override void WriteJson(JsonWriter writer, YesNo[] value, JsonSerializer serializer)
public override void WriteJson(JsonWriter writer, YesNo value, JsonSerializer serializer)
{
JArray array = new JArray();
foreach (var val in value)
{
JToken t = JToken.FromObject(val.LongName() ?? string.Empty);
array.Add(t);
}
array.WriteTo(writer);
JToken t = JToken.FromObject(value.LongName() ?? string.Empty);
t.WriteTo(writer);
}
}
}