Attualmente sto lavorando a un'applicazione in cui è necessario caricare i dati da un database SQL e quindi assegnare i valori recuperati alle proprietà di un oggetto. Lo sto facendo usando la reflection dato che i nomi delle proprietà e i nomi delle colonne sono gli stessi. Tuttavia, molte proprietà utilizzano un tipo di struct personalizzato che è fondamentalmente un wrapper di valuta per il tipo decimale. Ho definito una conversione implicita nella mia struct:Conversioni implicite in C#
public static implicit operator Currency(decimal d)
{
return new Currency(d);
}
Questo funziona bene quando lo uso in codice. Tuttavia, quando ho questo:
foreach (PropertyInfo p in props)
{
p.SetValue(this, table.Rows[0][p.Name], null);
}
Si genera un ArgumentException affermando che non è possibile convertire da System.Decimal alla valuta. Sono confuso dal momento che funziona bene in qualsiasi altra circostanza.
Questo ha funzionato in modo eccellente! Grazie! –