現在、SQLデータベースからデータをロードしてから、取得した値をオブジェクトのプロパティに割り当てる必要があるアプリケーションに取り組んでいます。プロパティ名と列名が同じであるため、リフレクションを使用してこれを行っています。ただし、プロパティの多くは、基本的に10進型の通貨ラッパーであるカスタム構造体型を使用しています。構造に暗黙の変換を定義しました。
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);
}
System.DecimalからCurrencyに変換できないことを示すArgumentExceptionをスローします。それは他の状況でうまく機能するので、私は混乱しています。