使用unity属性注入注入一个简单的字符串

时间:2013-03-15 11:19:41

标签: unity-container

我想使用Unity将字符串值注入属性。我找不到有效的语法。在这种情况下,PutBunniesHere

在这种情况下,错误是它不会将“type”识别为值的有效属性。我补充说,因为它之前无法解析类型。

该类具有以下属性:

    [Dependency("PutBunniesHere")]
    public string PutBunniesHere { get; set; }

这是我用于团结的配置。

<?xml version="1.0" encoding="utf-8" ?>
  <unity2 xmlns="http://schemas.microsoft.com/practices/2010/unity">
  <alias alias="IInjectMe1" type="CommonLib.IInjectMe1, CommonLib"/>
  <alias alias="singleton" type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager, Microsoft.Practices.Unity" />
  <container name="unity2">
    <register type="CommonLib.IInjectMe2, CommonLib" name="Injected2" mapTo="CommonLib.InjectMe2, CommonLib">
      <lifetime type="singleton"/>
      <constructor>
        <param name="theDependency" dependencyType="IInjectMe1" />
      </constructor>
      <property name="PutBunniesHere">
        <value value="my bunnies" type="System.String"/>
      </property>
    </register>
  </container>
</unity2>

1 个答案:

答案 0 :(得分:0)

好的,解决了这个问题。再一次,在寄存器元素上有一个名字是一个问题。这使得value元素的值具有不同的含义。 value表示已注册类型的名称,如果父寄存器元素上有name属性,则表示类型。取出名称和值意味着一个值(也可能是一个类型)

育。