Stel ik heb een collection van het type object. Als ik daarvan een item wil aanpassen moet ik deze eerst casten om alle properties en methods aan te roepen. Alleen wanneer ik dat doe dan maakt c# een nieuw object voor je aan, maar dat wil ik helemaal niet. Dit is het voorbeeldje:
Hoe kan ik dit nou zo bouwen dat de item in de collection ook daadwerkelijk wordt aangepast? De collection kan niet van het type MyClass worden, omdat er meerdere soorten objecten (afgeleiden van MyClass) in moeten...
C#:
1
2
3
4
5
| // myCollection[0] wordt niet gewijzigd... (myCollection[0] as MyClass).MyProperty = ":("; // idem ((MyClass)myCollection[0]).MyProperty = ":("; |
Hoe kan ik dit nou zo bouwen dat de item in de collection ook daadwerkelijk wordt aangepast? De collection kan niet van het type MyClass worden, omdat er meerdere soorten objecten (afgeleiden van MyClass) in moeten...