0

キャッスル ウィンザー 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>();
  }
}
4

1 に答える 1

2

これらはサブ依存関係リゾルバーです。ルート サービスではなく、依存関係を解決します。あなたは本当に何をしようとしていますか?オブジェクトを事前に登録しないのはなぜですか?

于 2010-09-13T06:28:44.640 に答える