First Initial
This commit is contained in:
29
Utils/Converters/FileInfoJsonConverter.cs
Normal file
29
Utils/Converters/FileInfoJsonConverter.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
public class FileInfoJsonConverter : JsonConverter
|
||||
{
|
||||
public override bool CanConvert(Type objectType)
|
||||
{
|
||||
return objectType == typeof(FileInfo);
|
||||
}
|
||||
|
||||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
||||
{
|
||||
if (reader.Value is string s)
|
||||
{
|
||||
return new FileInfo(s);
|
||||
}
|
||||
throw new ArgumentOutOfRangeException(nameof(reader));
|
||||
}
|
||||
|
||||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
||||
{
|
||||
if (!(value is FileInfo fileInfo))
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(value));
|
||||
}
|
||||
writer.WriteValue(fileInfo.FullName);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user