相关疑难解决方法(0)

使用StructureMap时传递构造函数参数

我在我的DI中使用StructureMap.想象一下,我有一个类需要1个参数:

public class ProductProvider : IProductProvider
{
     public ProductProvider(string connectionString)
     { 
         ....
     }
}
Run Code Online (Sandbox Code Playgroud)

当我得到IProductProvider的实例时,我需要在运行时指定"connectionString" .

我已经按如下方式配置了StructureMap:

ForRequestedType<IProductProvider>.TheDefault.Is.OfConcreteType<ProductProvider>().  
WithCtorArgument("connectionString");
Run Code Online (Sandbox Code Playgroud)

但是,我不想在这里调用EqualTo("something ......")方法,因为我需要一些工具来在运行时动态指定此值.

我的问题是:如何通过使用ObjectFactory获取IProductProvider的实例?

目前,我有类似的东西:

ObjectFactory.GetInstance<IProductProvider>();  
Run Code Online (Sandbox Code Playgroud)

但是如你所知,这不起作用......

任何建议将不胜感激.

structuremap constructor dependency-injection

40
推荐指数
2
解决办法
2万
查看次数