With StructureMap is it possible to make a Singleton object AND provide constructor arguments?

StackOverflow https://stackoverflow.com/questions/1600759

  •  05-07-2019
  •  | 
  •  

Question

I can't seem to figure out how to define a object as a singleton AND define two arguments for the constructor.

I can do either / or .. just not at the same time.

Eg. (this doesn't work)...

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

Suggestions?

Was it helpful?

Solution

You are very close. The trick is that you need to use the alternate default DSL language TheDefault.Is.OfConcreteType

ForRequestedType<IFoo>()
    .CacheBy(InstanceScope.Singleton)
    .TheDefault.Is.OfConcreteType<Foo>()
    .WithCtorArg("alpha").EqualToAppSetting("alpha")
    .WithCtorArg("beta").EqualToAppSetting("beta");
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top