【问题标题】:Castle Windsor: Inject NameValueCollection vs. DictionaryCastle Windsor:注入 NameValueCollection 与 Dictionary
【发布时间】:2010-05-13 19:22:30
【问题描述】:

我已经完成了许多配置,其中字典被传递到 <parameters> 块中的服务中。

但我发现自己现在需要的是构建一个 NameValueCollection(允许使用相同键的多个条目)或 KeyValuePair 对象的集合。

这样做的原因是我在给定a 时没有使用此字典查找b,我基本上是使用它来传递(a,b) 的元组(对),以便稍后在代码中使用。

我对城堡 Windor 有点陌生,我想知道如何制作一个 KeyValuePair 注入列表或 NameValueCollection 注入列表。

我需要的是这样的东西:

<component
    id="Shipper.Air"
    service="CheckoutSystem.Shipping.IShipper, Components"
    type="CheckoutSystem.Shipping.ConditionalShipper, Components">
    <parameters>
      <id>8AED4A27-B5C2-46ad-BEDE-58DCB38F60DA</id>
      <MustSatisfy>True</MustSatisfy>
      <Shippers>
        <dictionary>
          <item key="Ups">${Shipper.UpsAir}</item>
          <item key="CanadaPost">${Shipper.CanadaPostAir}</item>
        </dictionary>
      </Shippers>
      <Conditions>
        <NameValueCollection> <!-- START Example -->
          <item key="Ups">$(ShipperCondition.HeavyItems}</item>
          <item key="CanadaPost">${ShipperCondition.FarNorth}</item>
          <item key="Ups">${ShipperCondition.Default}</item>
        </NameValueCollection> <!-- END Example -->
      </Conditions>
    </parameters>
  </component>

【问题讨论】:

    标签: c# asp.net dependency-injection castle-windsor


    【解决方案1】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多