我有以下windsor语句并尝试将其转换为结构图语句。我真的找不到任何建议怎么做。
Container.Register(AllTypes.FromThisAssembly().
BasedOn<IType>().If(MatchStatement).Configure(c => c.LifeStyle.Transient.
Named(c.Implementation.Name)));
任何人都知道这是如何使用structuremap编写的?
编辑:为了使它更清楚..我已经得到了上面的声明(几乎无论如何)与温莎城堡写的但是因为我们将使用Structuremap而不是我需要做同样的但使用Structuremap。我得到了一些但不是全部; Registry.Scan(x =>
{
x.TheCallingAssembly();
x.AddAllTypesOf<IType>();
//{What more?}
});
我还需要满足MatchStatement条件并返回命名实例。
答案 0 :(得分:0)
StructureMap的默认生命周期是PerGraph(瞬态和单例混合)。
以下代码扫描调用程序集并添加IType
的所有实现,并且每个实现都使用实现的名称注册。
Scan(scan =>
{
scan.TheCallingAssembly();
scan.AddAllTypesOf<IType>().NameBy(type => type.Name);
});