Angenommen, Sie haben die folgende Klasse:
class Car : IPainting
{
...
}
Dann eine Funktion wie diese:
void AddCars(IEnumerable<Car> collection)
Dann ein Codeschnipsel wie dieser:
Car bmw = new Car();
Car mercedes = new Car();
IPainting a = (IPainting) bmw;
IPainting b = (IPainting) mercedes;
IPainting[] paintings = new IPainting[] {a, b};
AddCars(paintings); // fails to compile
Dies lässt sich natürlich nicht kompilieren, da die AddCars()-Methode nur eine Sammlung von Autos akzeptiert, aber das ist es, woraus das Array "paintings" besteht.
Ich weiß, dass C# 4.0 wahrscheinlich eine Lösung für dieses Problem bieten wird. Gibt es heute irgendeine Abhilfe für dieses Problem?
Danke,
Alberto