我有一个类型IReadableEntity<T>
,它是泛型的,当我们想要实现它时,需要指定一个T
类型。
使用依赖注入,我试图得到它的所有实现:
using (var scope = app.Services.CreateScope())
{
var test = scope.ServiceProvider.GetService(typeof(IEnumerable<>).MakeGenericType(typeof(IReadableEntity<>)));
}
通常,我可以通过使用此模式以列表的形式获得接口的所有实现,但它不适用于开放泛型类型。我得到以下错误:
System.NotSupportedException:'无法创建开放类型的数组。'
我怎样才能得到我的接口IReadableEntity<T>
的所有实现,而不管T
的类型是什么?
1条答案
按热度按时间6kkfgxo01#
我会创建一个新的非泛型接口并将其用作签名。