C # List <Interface>: почему вы не можете сделать `List <IFoo> foo = new List <Bar> ();`

Если у вас есть интерфейсIFoo и классBar : IFooпочему вы можете сделать следующее:

List<IFoo> foo = new List<IFoo>();  
foo.Add(new Bar());

Но вы не можете сделать:

List<IFoo> foo = new List<Bar>();

Ответы на вопрос(9)

Ваш ответ на вопрос