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

问题描述 投票:0回答:1

有没有办法在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?
});
c# structuremap
1个回答
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
});
© www.soinside.com 2019 - 2024. All rights reserved.