Приведение обощеннных типов, ограниченных интерфейсом
данный код работает
class A
{
}
interface IC<out T>
where T : A
{
void CC();
}
class C<T> : IC<T>
where T : A
{
private IC<T> _t;
public void CC()
{
IC<A> a = _t;
}
}
Но, если мы сделаем класс A интерфейсом, то упадет ошибка. Почему он не может привести?
interface A // made an interface
{
}
...
IC<A> a = _t; // Exception