Какие варианты у меня есть для автоматизации привязок с NInject - PullRequest
7 голосов
/ 12 января 2011

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

Например, подавляющее большинство привязок просто выглядит так:

Bind<ICustomerRepository>.To<CustomerRepository>();

Как только модули станут большими, вы можете получить сотни привязок, которые выглядят абсолютно одинаково.Может ли это быть автоматизировано?

1 Ответ

7 голосов
/ 15 января 2011

проверить расширение соглашения: 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>();
        }
...