有没有一种流畅的写法:
var someTypes = GetType()
.Assembly
.GetTypes()
.Where(x => someFilter == true);
foreach(var someType in someTypes)
{
var genericInterface = typeof(IFoo<>).MakeGenericType(someType);
var genericImplementation = typeof(Foo<>).MakeGenericType(someType);
container.Register(
Component.For(genericInterface)
.ImplementedBy(genericImplementation));
}
最佳答案
IGenericServiceStrategy
是您所追求的(在@maxlego 所说的之上,这是正确的)
See this有关详细信息和示例。
关于c# - 如何简化同一开放通用实现的大量封闭通用版本的注册?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17795982/