【发布时间】:2018-01-01 13:38:06
【问题描述】:
使用 Ninject,您可以像这样注册绑定:
Bind(typeof(IQueryHandler<,>)).To(typeof(QueryHandler<,>));
但就我而言,我不知道实际班级的名称。我只知道它实现了某个接口。
例如,假设我有以下内容:
public class CreatePageQueryHandler : IQueryHandler<CreatePage, string>
{
public string Retrieve(CreatePage query)
{ ... }
}
只有一个类使用这些通用参数实现接口:IQueryHandler<CreatePage, string>
Ninject 有没有办法动态获取类的实例?比如:
kernel.Get<IQueryHandler<CreatePage, string>>(); // returns instance of: CreatePageQueryHandler
请注意:
我不想在RegisterServices 方法中手动bind 这个。我正在寻找一种动态的方式来获取类的实例。
【问题讨论】:
标签: c# ninject ninject.web.mvc