Files
hrm_eva/Utils/Converters/FileInfoJsonConverter.cs
Nakorn Rientrakrunchai 8b98125e49 First Initial
2020-02-20 15:02:39 +07:00

29 lines
696 B
C#

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);
}
}