结构图3突破性变化

本文关键字:变化 突破性 结构图 | 更新日期: 2023-09-27 17:58:56

在以前版本的StructureMap中,我有一个这样的代码:

_container.Configure(config => 
    config
        .For<ILogger>.Use<TLogger>.Ctor<string>("loggerName")
        .Is((IContext ctx) => ctx.Root.RequestedType.ToString))

使用它,我能够将类名传递给我的记录器,这在自动布线场景中非常有用。

更新到StructureMap 3后,上面的代码显示错误,我找不到合适的StructureMap3代码。

TL;DRContext.Root在哪里?如何在StructureMap 3中访问它?

结构图3突破性变化

看起来我一开始就错了。

代替Context.Root,我可以使用Context.ParentType来实现我想要的。

此链接中提供的示例:http://docs.structuremap.net/UsingSessionContext.htm#section1(Logger Sample)帮助我找到了解决方案。