0

我需要根据 PropertyInfo.Name 解决属性注入。这个类看起来像这样

public class Test
{
    [Dependency]
    public Test TestProperty1{ get; set; }
}

我希望能够以某种方式在幕后解决 TestProperty1 ,而无需显式重新键入属性名称。

container.Resolve<Test>("TestProperty1")

在呼叫container.Resolve<Test>()container.BuildUp( new Test())**期间

我怎样才能做到这一点?

4

1 回答 1

0

我不确定我是否理解你想要达到的目标。您希望 Unity 填充TestProperty1而不告诉它这样做吗?

使用DependencyAttribute不是一个好的选择。这篇文章解释了为什么

要指示 Unity 向您注入一个值,TestProperty1您必须修改注册码:

container.RegisterType<Test>(new InjectionProperty("TestProperty1"));

对 resolve 的调用将返回一个已Test填充的实例TestProperty1

如果您有一个现有Test的调用实例,container.BuildUp()也会将一些值注入TestProperty1.

于 2012-06-28T05:58:16.180 回答