使用StructureMap可以创建一个Singleton对象并提供构造函数参数吗?

时间:2009-10-21 13:13:28

标签: structuremap

我似乎无法弄清楚如何将对象定义为单例并为构造函数定义两个参数。

我可以做任何一个/或......而不是同时做。

EG。 (这不起作用)......

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

建议?

1 个答案:

答案 0 :(得分:2)

你非常接近。诀窍是您需要使用备用默认DSL语言 TheDefault.Is.OfConcreteType

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