我正在尝试使用structuremap实例化一个类的所有子类。 我该怎么做,我将如何控制他们的生命?
我有一个其他开发人员继承的基类型来构建他们的类。有一次,我希望实例化所有这些子类并调用它们的方法。
答案 0 :(得分:2)
您可以像这样进行批量注册:
container.Configure(r =>
{
foreach (var assembly in
AppDomain.CurrentDomain.GetAssemblies())
{
r.Scan(s =>
{
s.Assembly(assembly);
s.AddAllTypesOf<MyBaseType>();
});
}
});
您可以按如下方式解析所有已注册的类型:
IList<MyBaseType> filters =
container.GetAllInstances<MyBaseType>();