我在容器中註冊了一些服務。還有一些對此服務有依賴性的類型和短暫的生存論點。例如:在Simple Injector中生成Func <TParam1,TParam2,TService>工廠
public class Foo
{
public Foo(IService1 svc1, IService2 svc2, int entityId) { }
}
我想要的是某種方式來自動生成工廠創建這樣的對象,而無需手動編碼每個工廠。我可以使用Func<int, Foo>
或創建一些IFooFactory
(與CreateFoo(int entityId)
方法),我想讓簡單注入器自動生成此工廠的實現(以任何數量的參數通用的方式)。
可能嗎?
您能否爲我們提供更多關於這個班級'Foo'的內容。這是什麼類?這是一個實體嗎,比如'Customer'或'Order'? – Steven
目前我只是想了解是否有可能在SimpleInjector(這樣的功能)或不。例如,AutoFac支持Func <..>的這種功能 - http://autofac.readthedocs.org/en/latest/advanced/delegate-factories.html。考慮到方法注入 - 在這種情況下,所有的依賴都是明確的。如果將添加一些依賴關係 - 我將需要更改此方法的所有調用。我可以避免它嗎? – oryol
作爲一個例子 - 我想有一些
MessageProcessor
這有幾種方法來處理消息和幾個依賴關係,但只有具體信息工程(我不想給它一次又一次地通過在每一個方法) – oryol