2010-05-13 48 views
0

我已經完成了許多配置,其中字典在<parameters>塊中被傳遞到服務中。Castle Windsor:注入NameValueCollection與字典

但我現在需要的是建立一個NameValueCollection(允許使用同一個鍵的多個條目)或一個KeyValuePair對象的集合。

原因是我不使用這本字典來查詢b當給出a,即時通訊基本上使用它來傳遞一個元組(對)(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> 

回答