再一次,我想我可能会错过这里的明显。我正在寻找习惯做自动绑定。我一直在看Ninject.extension.conventions项目和程序集扫描器。基于Ninject约定的绑定
我所拥有的是看起来像下面的很多线路,我想自动绑定:
Bind<ICommandHandler<MyCommand>>().To<MyCommandHandler>();
Bind<ICommandHandler<MyOtherCommand>>().To<MyOtherCommandHander>();
我试过几个变化:
Kernal.Scan(x => {
x.FromAssemblyContaining<MyCommand>();
x.WhereTypeInheritsFrom(typeof(ICommandHander<>));
x.BindWith(new DefaultBindingGenerator());
});
但也有没有实例返回时:
kernel.Get<ICommandHandler<T>>();
你试过kernel.Load(Assembly.GetExecutingAssembly());你需要把它放在CreateKernel覆盖 – WorldIsRound 2011-02-01 20:00:07
我不知道我明白你的意思。我现在有一个NinjectModule.Load()方法中的Kernel.Scan代码。 – Mike 2011-02-02 23:12:30