Looking for a good Money data type for .NET that supports currencies and exchange rates (with related behaviour & operations).
Although the book doesn't go deeper I would also like the Money class to support different rounding mechanisms because that also varies among financial institutions around the globe.
Edit 1: Clarifications
By "Money class" I mean a .NET data type that I can use to support money and its operations, complete with currency support and exchange rate calculations. Something like that is a higher level abstraction and might internally use a primitive data type. Also it might rely on a bundle of classes like: Money, ExchangeRate, Bank, etc.
It might be a value type (i.e. struct) or reference type (i.e. class) but either way it would be complete and support the aforementioned features.
(This also shows why a raw decimal, int or other primitive type won't suffice for all Money needs)
Objectives of a Money data type would be:
Note: Varying data values like exchange rates can be loaded from an external source and used. This question does not infer anything dynamic is hard-coded into the concept of Money.
Martin Fowler considers money as a special case of "Quantity", secondly he thinks the right Data Type for money should be the Big Integer. And he does have a point.