2010-05-13 5 views
0

J'ai déjà fait beaucoup de configs où les dictionnaires sont passés dans les services dans le bloc <parameters>.Château Windsor: Injecter NameValueCollection vs Dictionnaire

Mais ce dont j'ai besoin en ce moment, c'est de construire un NameValueCollection (permettant plusieurs entrées avec la même clé) ou une collection d'objets KeyValuePair.

La raison est im pas d'utiliser ce dictionnaire pour chercher b quand donné a, im en utilisant essentiellement à passer dans une Tuple (paire) de (a,b) à utiliser plus tard dans le code. Je me demandais comment j'allais faire une liste de injecté, ou NameValueCollection injecté.

Ce que je besoin est quelque chose qui ressemble à ceci:

<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> 

Répondre

Questions connexes