Обобщенный интерфейс, наследование

Рейтинг: 0Ответов: 1Опубликовано: 13.12.2014

Господа, скажите, пожалуйста, почему в этом коде в методе Main() в качестве аргумента типа нельзя ставить тип "а"?

interface IZ<T> 
{
    T A { get; set; }
}
class a<T> : IZ<T>
{
    public T A { get; set; }
}
class b <T> : a<T>
{}
class c
{
    static void Main()
    {
        IZ<a> iz = new b<a>();
    }
}

Не могу понять причин, по которым этого нельзя сделать. Спасибо.

Ответы

▲ 6Принят

Потому что у вас нет такого типа а. У вас есть тип а<T>