2022-05-24 乐帮网
c# netcore
在.NET中我们可以定义接口的多种实现,可以多次注入,但是在使用时候会发现它只会默认获取最后一次注入的实现类。这个自然是没有什么问题,但是当我们想要获取到其它实现时可以利用以下方法来实现:
例如接口
public interface IDemoService
{
void Run();
}
(1)通过总接口IServiceProvider 来获取
public void Resolve(IServiceProvider provider)
{
foreach (var sv in provider.GetServices<IDemoService>())
{
//to do
}
}
(2)通过获取IEnumerable来实现
public void Resolve(IEnumerable<IDemoService> svs)
{
foreach (var sv in svs)
{
//to do
}
}
以上就是全部内容。
关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com
庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。
如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力