如何在Structuremap中链接构造函数?

时间:2017-12-22 02:11:50

标签: c# structuremap

有没有办法在Structuremap中链接构造函数?我想要一个更简洁的代码 - 基本上试图摆脱代码库中的new关键字。

目前我所拥有的:

container.Configure(c =>
{
    c.For<IDataContext>()
        .Singleton()
        .Use(new CarDataContextWrapper(new CarDataContext(Settings.Default.ConnectionString)
        {
            CommandTimeout = 60
        }));
});

要注入构造函数参数,我想使用.Ctor声明。但是我如何为我想要初始化的第二堂课做这件事呢?

container.Configure(c =>
{
    c.For<IDataContext>()
        .Use<CarDataContextWrapper>()
        .Ctor<CarDataContext>().Is(x=>); // HOW TO SET THIS?
});

1 个答案:

答案 0 :(得分:0)

container.Configure(c =>
{
    c.For<IDataContext>()
        .Use<CarDataContextWrapper>("getting context", ctx=>
        {
            return ctx.GetInstance<CarDataContextWrapper>();
        });
        // Also need to tell SM how to build CarDataContextWrapper
});