У меня есть общий интерфейс контейнера данных IDataContainer
Я использую его для разных типов T IPerson, ISuperMan и т. д.
В замке я зарегистрировал его с
container.AddComponentWithLifestyle<IDataContainer<IPerson>, DataContainer<Person>>(LifestyleType.Transient);
container.AddComponentWithLifestyle<IDataContainer<ISuperMan>, DataContainer<SuperMan>>(LifestyleType.Transient);
во время выполнения замок создает зависимость, например.
IDataContainer<IPerson> test = container.GetService<IDataContainer<IPerson>>();
но он терпит неудачу с невозможностью приведения... классы реализуют интерфейс, а пространства имен верны и т. д.
Звонок
IPerson test = container.GetService<IPerson>();
Работы (с регистрацией <IPerson,Person>
)
Замок не может разрешить interface<T>
или ?