在以前版本的StructureMap中,我有一个这样的代码:
_container.Configure(config =>
config
.For<ILogger>.Use<TLogger>.Ctor<string>("loggerName")
.Is((IContext ctx) => ctx.Root.RequestedType.ToString))
使用它,我能够将类名传递给我的记录器,这在自动布线方案中非常有用。
更新到StrucureMap 3后,上面的代码显示错误,我找不到StructureMap 3的正确代码。
TL; DR; Context.Root在哪里?如何在 StructureMap 3 ?
中访问它答案 0 :(得分:0)
首先看起来我错了。
而不是Context.Root
,我可以使用Context.ParentType
来完成我想要的工作。
此链接中提供的示例:http://docs.structuremap.net/UsingSessionContext.htm#section1(Logger Sample)帮助我找到解决方案。