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(用于统一的插件)使用字典进行。 –