Допустим, у меня есть следующий класс:
public class Handler
{
public Type RequesterType { get; }
public Handler(Type requesterType)
{
RequesterType = requesterType;
}
}
которая сама является зависимостью другого класса:
public class Controller
{
public Handler Handler { get; }
public Controller(Handler handler)
{
Handler = handler;
}
}
Можно ли зарегистрировать Handler
таким образом, чтобы при разрешении Controller
аргументу конструктора зависимого Handler
requesterType
присваивался тип Controller
?
Вот пример того, чего я хочу достичь:
class Program
{
static void Main(string[] args)
{
var container = new WindsorContainer();
container.Register(
Component.For<Controller>()
//Component.For<Handler>(), <- this is the essense of my question
);
var controller = container.Resolve<Controller>();
Console.WriteLine(controller.Handler.RequesterType); //Should output Program.Controller
Console.ReadKey();
}
}