Привет Всем!
Сталкнулся я тут давича с проблемой денежных вычеслений на C#, при использовании стандартных типов (Decimal, Double ...). Пришлось писать свой тип Currency(в аттаче). Кое что подглядел в статье
Обработка денег в C#.
В простейших операциях все работает. Но чувствуется его неполноценность
в некоторых условиях.
1) Не удается сделать преобразование из Оbject
object obj
Currency sum=(Currency) obj; //Ошибка: Specified cast is not valid.
2) не могу заставить работать этот тип в DataTable
Table.Columns.AddRange(new System.Data.DataColumn[] {new DataColumn("COST",typeof(Currency))});
Table.Load(Comm.ExecuteReader());
//Данные появляются но в конце загрузки Ошибка: Specified cast is not valid.
3) подскажите почему у не удается зделать например:
public static explicit operator Currency(object a)
{ return new Currency((double) a); }
//Error user-defined conversion to/from base class...
Кому не влом посмотрите мой класс и выскажите свои мнение и вердикт