Можно ли зарегистрировать один и тот же класс / интерфейс несколько раз в Spring4D?

В настоящее время я играю с Spring4D и думаю, что это круто. Я пытаюсь добиться следующего

  GlobalContainer.RegisterComponent<TPerson>.Implements<IPerson>('Normal');
  GlobalContainer.RegisterComponent<TPerson>.Implements<IPerson>('TestData').DelegateTo(
    function: TPerson
    begin
      result := TPerson.Create;
      result.SetFirstName('Bob');
      result.SetSurname('Smith');
    end
  );

С TPerson/IPerson, имеющим очевидные определения. Но независимо от того, если я попробую

  Person := ServiceLocator.GetService<IPerson>('Normal');

или же

  Person := ServiceLocator.GetService<IPerson>('TestData');

Я всегда получаю Боб, это возможно, или я делаю что-то не так?

1 ответ

Это исправлено в последней версии Spring4D

Другие вопросы по тегам