Обобщенный интерфейс, наследование
Господа, скажите, пожалуйста, почему в этом коде в методе 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>();
}
}
Не могу понять причин, по которым этого нельзя сделать. Спасибо.
Источник: Stack Overflow на русском