Ninject.MVC RegisterServices に次の行があります。
kernel.Load(new NinjectBllModule());
kernel.Bind<IMembershipLogicFactory>().ToFactory();
そして私のモジュール内:
Bind<IUserLogic<LoginUser>>().To<UserLogic>();
Bind<IRoleLogic<SimpleRole, LoginUser>>().To<RoleLogic>();
と私の IMembershipLogicFactory:
public interface IMembershipLogicFactory
{
IUserLogic<TUser> GetUserLogic<TUser>() where TUser : UserBase;
IRoleLogic<TRole, TUser> GetRoleLogic<TRole, TUser>() where TRole : RoleBase<TUser> where TUser : UserBase<TRole>;
}
IMembershipLogicFactory を挿入して GetUserLogic() を呼び出すと、次のエラーが発生します。
Error activating IUserLogic{LoginUser}
No matching bindings are available, and the type is not self-bindable.
Activation path:
1) Request for IUserLogic{LoginUser}
そして、私が間違っていることを見つけることができないようです。