StructureMap 在构造函数中传递参数

标签 structuremap

我有一个带有一些技巧的构造器

public class AppEngine:IAppEngine
{
    private IGreeter _greeter;
    private string _str;
    public AppEngine(IGreeter greeter,string str)
    {
        _greeter = greeter;
        _str = str;
    }
    public string Run()
    {
        return _greeter.Greeting()+":"+_str;
    }
}

我想从工厂这里获取实例

 var obj = ObjectFactory.GetInstance<IAppEngine>();

这里我想传递构造函数接受的参数。 我该怎么做。

问候

最佳答案

如果你想在调用 ObjectFactory 时指定参数,你可以这样做:

ObjectFactory.With("str").EqualTo(someValue).GetInstance<IAppEngine>();

如果您需要处理多个参数,您可以将它们链接在一起。请注意,您还可以在像这样初始化时为所有实例定义一个构造函数值:

ForRequestedType<IAppEngine>().Use<AppEngine>().WithCtorArg("str").EqualTo(someValue);

关于StructureMap 在构造函数中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15433787/

相关文章:

.net - StructureMap 和 ASP .Net Web API 和 .Net Framework 4.5

winforms - 在 winforms 中引导依赖项(使用 StructureMap)

c# - StructureMap - 根据具体请求实例化接口(interface) x 实例的属性

c# - 注入(inject)不同的项目/程序集

c# - 依赖注入(inject)和开发生产力

c# - 具有多个项目的 ASP.NET MVC 架构中的依赖注入(inject)

generics - StructureMap 2.6.1,一个 IRepository<T> 和一个 EFRepository<T,TContext>

c# - 使用 structuremap 注册泛型类型

c# - 如何使用具有 "greedy"构造函数的 Scan 将 StructureMap 与通用未封闭类型一起使用

http - HybridHttpOrThreadLocalScoped 和 HttpContextScoped 有什么区别