Замок Виндзорский заводПоддержкаЗамена объекта - PullRequest
0 голосов
/ 18 июня 2020

Мне нужно иметь возможность использовать компонент во время выполнения, который создается с использованием фабричного метода, т.е. без конструктора publi c, а с пакетом Castle FactorySupportFacility я смог сделать это, используя следующую конфигурацию XML, который активен только тогда, когда я хочу использовать этот компонент:

<facilities>
    <facility
        id="factory.support"
        type="Castle.Facilities.FactorySupport.FactorySupportFacility, Castle.Facilities.FactorySupport">
    </facility>
  </facilities>
  <components>
    <component
        id="Ft232hWrapperFactory"
        type="Ft232hWrapper.Ft232hDevice, Ft232hWrapper"
    />
    <component
          service="Common_Classes.IIoInterface,Comon Classes"
          type="Ft232hWrapper.Ft232hDevice, Ft232hWrapper"
          factoryId="Ft232hWrapperFactory"
          factoryCreate="Create"
          lifestyle="singleton">
    </component>
  </components>

Однако пакет FactorySupportFacility теперь устарел в версии 4.1.1 и привязан к Castle.Windsor v4.1.1.

Я хотел бы обновить свой Castle.Windsor до> v4.1.1, но не могу этого сделать, в то время как мое приложение должно использовать FactorySupportFacility, чтобы использовать фабричный метод для этого необязательного компонента.

Я не хочу переписывать необязательный компонент, поэтому есть ли способ по-прежнему использовать заводской метод, но включить / отключить его использование с помощью конфигурации xml с использованием версии Castle.Windsor> v4.1.1?

Я читал статьи в течение нескольких дней, но до сих пор не могу понять, что мне нужно делать в этом «дивном новом мире», где беглый api - король, а xml config, похоже, не одобряет ...

...