我有什么选项可以自动绑定NInject

cbp*_*cbp 7 ninject

而不是手动必须绑定每个类,建议使用哪些方法和模式来自动设置绑定?

例如,绝大多数绑定看起来像这样:

Bind<ICustomerRepository>.To<CustomerRepository>();
Run Code Online (Sandbox Code Playgroud)

一旦模块变大,你就可以得到100个看起来完全相同的绑定.这可以自动化吗?

dav*_*ben 7

查看约定扩展:https: //github.com/ninject/ninject.extensions.conventions

        using (IKernel kernel = new StandardKernel())
        {
            var scanner = new AssemblyScanner();
            scanner.From(Assembly.GetExecutingAssembly());
            scanner.BindWith<DefaultBindingGenerator>();
            kernel.Scan(scanner);
            var instance = kernel.Get<IDefaultConvention>();

            instance.ShouldNotBeNull();
            instance.ShouldBeInstanceOf<DefaultConvention>();
        }
Run Code Online (Sandbox Code Playgroud)