Приведение обощеннных типов, ограниченных интерфейсом

данный код работает

    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

Ответы (0 шт):