Реализация вложенных универсальных интерфейсов

У меня есть следующие классы/интерфейсы:

// Model
public class A : IA { }
// ModelLogic
public class B : IB<A> { }

// Model Interface
public interface IA { }
// ModelLogic Interface
public interface IB<T> where T : IA { }

Я пытаюсь создать новый экземпляр, используя следующий код:

IB<IA> foo = new B();

Я получаю следующую ошибку:

Cannot implicitly convert type 'B' to 'IB<IA>'. An explicit conversion exists (are you missing a cast?)

Может кто-нибудь объяснить, почему это невозможно?

14
задан Bryan Sumter 27 April 2012 в 14:32
поделиться