使用具有参数构造函数的类来初始化StructureMap

| 我正在尝试初始化StructureMap来注入一个只有一个带有4个字符串参数的构造函数的具体类。 通常,对于具有无参数构造函数的类,我将这样做:
For<IMyClass>().Use<MyClass>();
但是,如果MyClass有一个构造函数,我该怎么办?
public class MyClass : IMyClass
{
    public MyClass(string name, string etc)
    {

    }
}
    
已邀请:
如果要在注册时知道要传递的值,则可以这样做:
For<IMyClass>().Use<MyClass>()
  .Ctor<string>(\"name\").Is(\"theName\")
  .Ctor<string>(\"etc\").Is(\"etcetera\");
    
这对我有用
public interface IMyClass
{
    string MyMethod();
}

public class MyClass : IMyClass
{
    private readonly string myName;
    private readonly string myEtc;

    public MyClass(string name, string etc)
    {
        myName = name;
        myEtc = etc;
    }

   public string MyMethod()
   {
       return myName + myEtc;
   }
}

public class FactoryTest
{
    public string GetMyString()
    {
        RegisterMyClass();
        return ObjectFactory.GetInstance<IMyClass>().MyMethod();
    }

    public void RegisterMyClass()
    {
        ObjectFactory.Initialize(
              f => f.For<IMyClass>().Use(x => new MyClass(\"a\", \"b\")));
    }
}
    

要回复问题请先登录注册