В настоящее время я работаю над приложением, в котором мне нужно загрузить данные из базы данных SQL, а затем назначить полученные значения в свойства объекта. Я делаю это, используя отражение, поскольку имена свойств и имена столбцов одинаковы. Однако многие свойства используют собственный тип структуры, который в основном представляет собой оболочку валюты для десятичного типа. Я определил неявное преобразование в моей структуре:C# неявные преобразования
public static implicit operator Currency(decimal d)
{
return new Currency(d);
}
Это прекрасно работает, когда я использую его в коде. Однако, когда у меня есть это:
foreach (PropertyInfo p in props)
{
p.SetValue(this, table.Rows[0][p.Name], null);
}
Он бросает ArgumentException о том, что он не может конвертировать из System.Decimal в валюте. Я смущен, так как он отлично работает в любых других обстоятельствах.
Это сработало отлично! Спасибо! –