Скрываем публичные свойства, через которых происходит внедрение зависимостей ninject (c#)

Допустим есть свойство, через которое ninject внедряет зависимость

[Inject]
public IUsersService UsersService { get; set; }

И очень хочется скрыть это свойство, так как данное свойство используется только внутри класса.

Читать далее Скрываем публичные свойства, через которых происходит внедрение зависимостей ninject (c#)

Используем Ninject.Extensions.Conventions для автоматической регистрации сервисов (c#, ninject)

Как и любой di контейнер ninject предоставляет возможность делать автоматическую регистрацию объектов. Это полезно тем что может избавить от неинтересной работы и так же полезно начинающим программистам, которые незнакомые с внедрением зависимостей и как работать с di контейнером.

Читать далее Используем Ninject.Extensions.Conventions для автоматической регистрации сервисов (c#, ninject)

Ninject и AOP

Ninject имеет много расширений. Одно из полезных расширений это Ninject.Extensions.Interception.DynamicProxy. Данное расширение позволяет перехватывать вызовы методов, что позволяет вынести сквозную функциональность из наших модулей. Установим данный пакет и вынесем логику работы с транзакциями в Intercepter (перехватчик).

Читать далее Ninject и AOP

Получаем данные из appSettings при помощи Ninject

Создадим пользовательский атрибут ValueAttribute, который будет производным от атрибута InjectAttribute. Данный атрибут достает значение из appSettings, а Inject в свою очередь запишет это значение в указанное свойство.

Читать далее Получаем данные из appSettings при помощи Ninject