Following snippet wouldn\'t compile. With following error:
Cannot implicitly convert type \'Container
\' to \'Container
(made wiki, in case of dups)
C# (3.0) doesn't support covariance of lists etc. C# 4.0 will support limited [co|contra]variance, but still not lists.
The problem is that with:
Container obj = new Container();
I could do:
obj.Add(new SomeOtherSubclass()); // SomeOtherSubclass : BaseClass
which would compile, but not work.
This behaviour is supported for arrays, but largely for historic reasons.