Delphi Spring DI: возможно ли делегировать создание экземпляра интерфейса без реализующего типа?

Я только начинаю работать с Delphi Spring Framework, и мне было интересно, позволяет ли текущая версия контейнера DI каким-либо образом делегировать конструкцию фабричному методу без указания типа реализации?

Например. что-то похожее на это:

GlobalContainer
  .RegisterFactory<ISomeObject>(
    function: ISomeObject 
    begin 
      Result := CreateComObject(CLASS_SomeObject) as ISomeObject; 
    end)
  .Implements<ISomeObject>  // could probably be implied from the above
  .AsSingletonPerThread;

Как вы можете видеть, мой конкретный пример использования - создание объектов COM. В этом случае класс, реализующий интересующий меня интерфейс, не является частью моего приложения, но я все еще могу создавать экземпляры, вызываяCreateComObject / CoCreateInstance, Однако мне кажется, что мне не повезло, поскольку регистрации в контейнере всегда связаны с реальным классом реализации.

Предполагая, что в настоящий момент это невозможно, как бы вы, эксперты, решили это? Создаете ли вы класс-оболочку или фиктивный класс или просто не добавляете COM-объекты в контейнер DI и просто создаете их экземпляры с помощьюCreateComObject?

Ответы на вопрос(2)

Ваш ответ на вопрос