是否可以使用Spring.NET IoC容器进行类似的操作?
MyClass instance = new MyClass();
ContextRegistry.GetContext().InjectDepenencies(instance);
// instance has the defined dependencies set
这会派上用场。我可以使用ContextRegistry.GetContext().Get("name")
,但这将创建已定义对象的新实例。我需要设置已创建对象的依赖关系。
答案 0 :(得分:4)
有三个选项,第一个匹配您想要的选项。
IApplicationContext.ConfigureObject(对象目标,字符串名称)
这使用与name参数匹配的对象定义来配置目标对象。
IApplicationContext.Get(字符串名称, object [] arguments)
哪个将使用构造函数 或者是一种静态的工厂方法 接收指定的参数。
GenericApplicationContext.RegisterObjectDefinition(字符串名称,IObjectDefinition定义)
您可以使用它在运行时注册依赖项。
答案 1 :(得分:1)