我想在ASP.NET5(MVC6)应用程序中使用服务定位器模式。所以我想要的是获取我的所有接口实例。
我不想使用任何其他DI框架,因为我知道这已经在DI容器中可用,例如structuremap和autofac。
我想做一些像获取ITask接口的所有实例。以下是界面代码。
public Interface ITask
{
void Execute();
}
//What I want to do
foreach (var task in container.GetAllInstances<ITask>())
{
task.Execute();
}
这就是我想要做的。我想获得所有ITask实例。然后我想得到ITask的所有实例并执行该类的调用execute方法。
任何帮助将不胜感激!提前谢谢。
答案 0 :(得分:0)
假设某些实例已添加到DI中,您应该可以执行以下操作:
var allInstance = container.GetService<IEnumerable<ITest>>();