Convert List to List

While we can inherit from base class/interface, why can’t we declare a List<>
using same class/interface?

interface A
{ }

class B : A
{ }

class C : B
{ }

class Test
{
    static void Main(string[] args)
    {
        A a = new C(); // OK
        List<A> listOfA = new List<C>(); // compiler Error
    }
}

Is there a way around?

12 Answers
12

Leave a Comment