C# обобщения
Друзья, подскажите, пожалуйста.
interface ITest<T>
{
}
class a<T> where T : ITest<T>
{
}
class b : ITest<b>
{
}
class c
{
static void Main()
{
a<b> A = new a<b>();
}
}
Почему если строчку class b : ITest<b>
заменить на class b : ITest<int>
, то код не компилится. Какая разница int там или b? Спасибо.
Источник: Stack Overflow на русском