Замок Виндзор - аргументы AsAnonymusType прохождения родового типа самостоятельно регистрируются
public interface IAnimal<TParameter>
{
TParameter Parameter{get;set;}
}
public class Dog : IAnimal<int>
{
public int Parameter{get;set;}
}
public class Zoo
{
public Zoo(IAnimal<int> animal){}
}
//Installer
container.Register
(
Classes
.FromThisAssembly()
.BasedOn(typeof(IAnimal<>))
.WithService.Self()
.LifestyleTransient(),
Component
.For<Zoo>()
.LifeStyle.Transient
)
//Resolve
var dog = container.Resolve<Dog>(); // Working
var zoo = container.Resolve<Zoo>(new {animal = container.Resolve<Dog>();} // Not working
Разрешение Zoo выдает ошибку, что IAnimal не зарегистрирован и т. Д...
Я хочу упомянуть, что если я избавлюсь от универсального типа в IAnimal, все будет работать.
Спасибо