static void Main(string[] args) { MoneyBag bag = new MoneyBag(); Money moneyA = new Money(10, "EUR"); Money moneyB = new Money(20, "USD"); Money moneyC = new Money(15, "EUR"); Money moneyD = new Money(25, "JPY"); IMoney money = bag.AddMoney(moneyA); money = money.AddMoney(moneyB); money = money.AddMoney(moneyC); money = money.AddMoney(moneyD); Console.WriteLine("My Portfolio : " + money.ToString()); Console.ReadLine(); }
//Hier wird alles sehr bequem gehandelt - und alles ist Typensicher static void Interface(object parameter) { //Zunächst mal überprüfen if (parameter is IMoney) { //as wirft keine Exception wenn der Cast nicht klappt - hier eigentlich unnötig IMoney typ = parameter as IMoney; typ.AddMoney(1.0m, "Interface"); } }
/// <summary>Adds a money to this money. Forwards the request to /// the AddMoney helper.</summary> public IMoney Add(IMoney m) { return(m.AddMoney(this)); }
/// <summary>Adds a money to this money. Forwards the request to /// the AddMoney helper.</summary> public IMoney Add(IMoney m) { return m.AddMoney(this); }