Замок Виндзор: введите имя, стоимость, коллекция и словарь - PullRequest
0 голосов
/ 13 мая 2010

Я уже сделал много конфигов, где словари передаются в сервисы в блоке <parameters>.

Но сейчас мне нужно создать NameValueCollection (допускающий несколько записей с одним и тем же ключом) или коллекцию KeyValuePair объектов.

Причиной этого является то, что я не использую этот словарь для поиска b при задании a, я в основном использую его для передачи кортежа (пары) (a,b) для последующего использования в коде.

Я немного новичок в замке Виндор, и мне было интересно, как мне поступить, составив Список 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>

1 Ответ

1 голос
/ 14 мая 2010

Вы можете справиться с этим с помощью специального конвертера типов. См. Документацию для преобразователей типов .

Пара типовых преобразователей:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...