«Общий» переводимый карт с картеромC#

Место общения программистов C#
Anonymous
«Общий» переводимый карт с картером

Сообщение Anonymous »

Мне нужен преобразователь типов для всех целевых свойств типа Enum, который будет действовать, когда исходное свойство является десятичным. Он работает с целыми числами по умолчанию, но не работает с десятичными.
void Main()
{
var v = new Dictionary { [nameof(Cls.M)] = "V1" };
v.Adapt(typeof(Dictionary), typeof(Cls)).Dump(); // works

v[nameof(Cls.M)] = 2; // valid int
v.Adapt(typeof(Dictionary), typeof(Cls)).Dump(); // works

v[nameof(Cls.M)] = 0; // invalid int
v.Adapt(typeof(Dictionary), typeof(Cls)).Dump(); // works

v[nameof(Cls.M)] = 1m; // valid decimal
v.Adapt(typeof(Dictionary), typeof(Cls)).Dump(); // fails

v[nameof(Cls.M)] = 0m; // invalid decimal
v.Adapt(typeof(Dictionary), typeof(Cls)).Dump(); // fails
}

public class Cls
{
public My M { get; set; }
}

public enum My
{
V1 = 1,
V2
}
< /code>
Мне нужно что-то столь же общее, как встроенный. Никакое предложение какого -либо ИИ не было даже синтаксически правильным. Это выполнимо с какой -либо конфигурацией вообще?

Подробнее здесь: https://stackoverflow.com/questions/797 ... th-mapster

Вернуться в «C#»