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