2
Я сейчас играю с рамкой 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');
Я всегда получаю Боба, возможно ли это или я делаю что-то не так?
Работает отлично со мной. Используете ли вы последний источник? RegisterComponent устарел сейчас, и вы должны использовать RegisterType вместо этого, но использование обоих работает нормально для меня тоже. Что-то еще происходит в вашем коде при догадках. – Jason
Обязательно используйте последнюю версию с багажника. Эта ошибка не должна существовать. –
@StefanGlienke Хотелось бы проверить последнюю версию, но я за брандмауэром, и я не смог выработать правильные настройки прокси для svn, я попробую еще раз, когда дома сегодня вечером – Alister