У меня есть несколько объектов, которые реализуют один и тот же общий интерфейс. Поэтому я хочу настроить его с помощью соглашений об использовании Ninject, но я не знаю, как это сделать.Как я могу привязать условным путем общий интерфейс к нескольким родовым конкретным типам в Ninject
Сейчас у меня есть эти регистрации
Bind<IQueryHandler<GetPagedPostsQuery, PagedResult<Post>>>().To<GetPagedPostsQueryHandler>();
Bind<IQueryHandler<GetPostByDateQuery, Post>>().To<GetPostByDateQueryHandler>();
Я попробовал настоящую Конвенцию,
Kernel.Bind(x => x
.FromThisAssembly()
.IncludingNonePublicTypes()
.SelectAllClasses()
.InheritedFrom(typeof(IQueryHandler<,>))
.BindDefaultInterface());
Но не регистрирует обработчик запросов.
Возможно ли это сделать с условностями?
** Редактирование ** Классы состоят в следующем
public class GetPagedPostsQueryHandler : IQueryHandler<GetPagedPostsQuery, PagedResult<Post>>
public class GetPostByDateQueryHandler : IQueryHandler<GetPostByDateQuery, Post>
Вы можете разместить реализацию (.. ну не совсем только то, что он наследует типы) от 'GetPagedPostsQuery' и' GetPostByDateQueryHandler'? – BatteryBackupUnit
@BatteryBackupUnit Я добавляю информацию, но ответ Фрэнка работает для меня. Спасибо – vfabre