0
我有一個私有構造函數和一個靜態創建方法,返回一個類的實例,我希望Unity在請求類的實例時調用此方法。依賴注入與靜態創建方法
例如:
public interface IService
{
void MethodA();
}
public class Service: IService
{
private Service(){}
public static Service Create()
{
return new Service();
}
}
你所說的 「請求」 的意思是?你能告訴更多關於你的需求嗎? –
假設我有一個依賴於IService的類,我希望Unity調用靜態的Create方法來解析依賴關係。 – franklores
當你不知道最終類型的對象時,你不能調用靜態方法。你不能用靜態polymorhism和泛型。 我認爲你需要另闢蹊徑。您可以在字典中存儲綁定信息(包括指向工廠的指針)。並通過使用在字典中查找特定工廠的泛型類來創建任何新實例,並將其稱爲創建新實例的方法。 Zenject(用於統一的插件)使用字典進行。 –