代码之家  ›  专栏  ›  技术社区  ›  Pure.Krome

对于structuremap,是否可以生成一个singleton对象并提供构造函数参数?

  •  3
  • Pure.Krome  · 技术社区  · 15 年前

    我似乎不知道如何将一个对象定义为一个单例并为构造函数定义两个参数。

    我可以做/或..只是不是同时。

    (这不管用)

    ForRequestedType<IFoo>()
        .TheDefaultIsConcreteType<Foo>()
        .CacheBy(InstanceScope.Singleton)
        .WithCtorArg("alpha").EqualToAppSetting("Alpha")
        .WithCtorArg("beta").EqualToAppSetting("Beta");
    

    建议?

    1 回复  |  直到 15 年前
        1
  •  2
  •   KevM    15 年前

    你很亲近。诀窍是您需要使用备用的默认DSL语言 混凝土类型的默认值为

    ForRequestedType<IFoo>()
        .CacheBy(InstanceScope.Singleton)
        .TheDefault.Is.OfConcreteType<Foo>()
        .WithCtorArg("alpha").EqualToAppSetting("alpha")
        .WithCtorArg("beta").EqualToAppSetting("beta");