Files
telegram-bot/modules/ChatQuotes/Json/NullToEmptyObjectValueProvider.cs
T

26 lines
701 B
C#
Raw 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;
}
public void SetValue(object target, object value)
{
_memberInfo.SetValue(target, value);
}
}