Замок Виндзор + ISubDependencyResolver: странные проблемы - PullRequest
0 голосов
/ 13 сентября 2010

Замок Виндзор 2.5.Это не удается.Зачем?Это обозначено как поведение или ошибка?Кажется, преобразователи зависимостей даже не запрашиваются при разрешении служб верхнего уровня.

class Program
 {
  class Resolver :ISubDependencyResolver
  {
   public object Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)
   {
    return new Program();
   }

   public bool CanResolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)
   {
    return dependency.TargetType == typeof (Program);
   }
  }

  [STAThread]
  static void Main()
  {
   var container = new WindsorContainer();
   container.Kernel.Resolver.AddSubResolver(new Resolver());
   var xxx = container.Resolve<Program>();
  }
}

1 Ответ

2 голосов
/ 13 сентября 2010

Это суб преобразователи зависимостей . Они разрешают зависимости, а не корневые службы. Что ты на самом деле пытаешься сделать? Почему бы не зарегистрировать объект заранее?

...