【发布时间】:2011-02-18 01:09:28
【问题描述】:
请:如果我的问题不清楚,请告诉我,我会尝试改写它
- 我需要 LogOnModel 中的 [Default Constructor],所以它不能被删除。
- LoadModel+ModelFactory 和 LogOnModel 在物理上位于不同项目的不同文件中,并且 project2 引用了 project1,反之亦然。
1 - 让我们这么说 type=typeof(LogOnModel)。当 ObjectFactory.GetInstance(t) 被调用时,我希望它调用 参数化 LogOnModel 的构造函数并将@params 传递给它
2 - 如果我要在 LogOnModel 的 parameterized 构造函数中添加另一个参数,例如
public LogOnModel(string param, IPageService pageService)
所以 ObjectFacytory 应该毫无问题地调用这个构造函数
如何配置/启动 ObjectFactory,这样才行?
谢谢
已编辑
//Project1/file1.cs
public void LoadModel(Type type, string param)
{
var factory = new ModelFactory();
var model = factory.Get(type, **param**);
}
public class ModelFactory : IModelFactory
{
public PageModel Get(Type t, **string param**)
{
//NOW I NEED SOMEHOW TO PASS **param** TO EVERY INSTANCE THAT INHERITS FROM **PageModel**
return ObjectFactory.GetInstance(t) as PageModel;
}
}
//Project2/file2.cs
public class LogOnModel : PageModel
{
public LogOnModel()
{
}
public LogOnModel(string param)
{
}
}
public class Model2 : PageModel
{
public LogOnModel()
{
}
public LogOnModel(string param)
{
}
}
public class Model3 : PageModel
{
public LogOnModel()
{
}
public LogOnModel(string param)
{
}
}
【问题讨论】:
标签: structuremap