Files

26 lines
702 B
C#
Raw Permalink Normal View History

2022-01-21 00:10:27 +02:00
using System.Reflection;
using Newtonsoft.Json.Serialization;
using Telegram.Bot.Types;
namespace West.TelegramBot.ChatQuotes.Json;
2022-01-21 14:18:56 +02:00
public class NullToEmptyObjectValueProvider : IValueProvider
2022-01-21 00:10:27 +02:00
{
private readonly PropertyInfo _memberInfo;
2022-01-21 14:18:56 +02:00
public NullToEmptyObjectValueProvider(PropertyInfo memberInfo)
2022-01-21 00:10:27 +02:00
{
_memberInfo = memberInfo;
}
public object? GetValue(object target)
{
var result = _memberInfo.GetValue(target);
if (_memberInfo.PropertyType == typeof(Message) && result == null) result = new object();
return result;
}
2023-01-02 19:01:03 +02:00
public void SetValue(object target, object? value)
2022-01-21 00:10:27 +02:00
{
_memberInfo.SetValue(target, value);
}
}