我需要根据PropertyInfo.Name解析属性注入。该课程看起来像这样
public class Test
{
[Dependency]
public Test TestProperty1{ get; set; }
}
我希望能够以某种方式解决TestProperty1这样的 幕后 ,而无需显式重新输入属性名称。
container.Resolve<Test>("TestProperty1")
在致电container.Resolve<Test>()
或container.BuildUp( new Test())
**
我该怎么做?
答案 0 :(得分:0)
我不确定我是否理解你想要实现的目标。你想让Unity填充TestProperty1
而不告诉它这样做吗?
使用DependencyAttribute
不是一个好选择。 This article explains why
要指示Unity向TestProperty1
注入值,您必须修改注册码:
container.RegisterType<Test>(new InjectionProperty("TestProperty1"));
对要求解决的调用将返回Test
的实例,并填充TestProperty1
。
如果您有Test
的现有实例,则对container.BuildUp()
的调用也会为TestProperty1
注入一些价值。