I want to make a List and add derived classes to this list.
I see here that this is not possible by design in .NET: http://msdn.microsoft.com/en-us/library/aa479859.aspx#fundamentals_topic12
So what is the best practice solution to this? I guess I can box my derived classes to make them look like my superclass but that feels a little unwieldly. I suppose I should have designed my classes differently….but how?
If I understand what you are trying to do, you should be able to do it just fine.
This is valid code, and then you can easily retrieve the elements from the list, and use the basic rules of polymorphism for changing the types of the objects accordingly.