0
如何使用TypedFactoryFacility生成如下指定的相同输出?TypedFactoryFacility:如何使用内联参数初始化对象?
public class Something
{
public void Initialize(Whatever instance) {}
}
public interface ISomethingFactory
{
Something Create(Whatever instance);
}
internal class SomethingFactory : ISomethingFactory
{
private readonly IWindsorContainer _container;
public SomethingFactory(IWindsorContainer container)
{
_container = container;
}
public Something Create(Whatever instance)
{
Something item = _container.Resolve<Something>();
item.Initialize(instance);
return item;
}
}
所以,我要代替手工工厂代理生成ITypedFactoryFacility,但我不能找到一种方法创建后调用解决组件上的东西。我查看了佣金问题,但是您没有从自定义的委托关系中引用CreationContext,因此无效。我当然可以将依赖关系移动到ctor并提供ctor重写,但是我认为当您想传达非可选依赖关系时,属性很好。
如果它的构造函数的参数是,但如果我想通过构造函数以外的其他东西来提供它呢?正如你在我的例子中看到的那样,我明确地没有在ViewModel类中指定一个构造函数依赖关系。 – Marius 2011-06-14 13:42:07
我改变了这个例子来展示一个对象如何传递给工厂,允许它在解析时被设置为公共属性。这更像你想要实现的目标吗? – mookid8000 2011-06-14 19:49:37
不错,不知道TypedFactoryFacility对于属性很聪明。我已更新我的示例以更清楚地表明我的意图。对不起,我不清楚的例子,但至少我学到了一些新的:-) – Marius 2011-06-15 05:47:08