我有一个类似于这个问题中展示的设置,想知道是否可以用一个IOC容器来替换所有使用反射查找某种类型插件并执行CreateInstance
代码的操作,例如:
builder.RegisterAssemblyTypes(typeof(MyType).Assembly)
我有一个类似于这个问题中展示的设置,想知道是否可以用一个IOC容器来替换所有使用反射查找某种类型插件并执行CreateInstance
代码的操作,例如:
builder.RegisterAssemblyTypes(typeof(MyType).Assembly)
是的,你可以像这样做:
builder.RegisterAssemblyTypes(typeof(MyType).Assembly).AsImplementedInterfaces();
AsImplementedInterfaces
,你还可以添加.AsSelf()
。这样,容器将能够解析服务作为它们实现的任何接口以及它们的具体类。 - Peter Lillevold