2

我有一个带有一些艺术的构造函数

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>();

在这里,我想传递构造函数接受的参数。我怎么能这样做。

问候

4

2 回答 2

8

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

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

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

ForRequestedType<IAppEngine>().Use<AppEngine>().WithCtorArg("str").EqualTo(someValue);
于 2013-03-15T14:28:19.690 回答
-1
//Arguments Constructor    
Example(int id,String Name){    //Define    }//main method  
//Object Creation    
//Object  Creation for Default Constructor
Example e1=new Example();
//Object Creation for Arguments Constructor
Example e2=new Example(101,"kathik");}
于 2013-12-16T09:24:44.030 回答