Ручной впрыск в пользовательский класс с swiftSuspenders / robotlegs - PullRequest
0 голосов
/ 09 ноября 2010

в моем контексте:

var parserManager:ParserManager = injector.instantiate(ParserManager);
parserManager.injector = injector;
injector.mapValue(ParserManager, parserManager);

в моем классе parserManager (не распространяется ни на один другой класс):

public var injector:IInjector;

parserManager внедряется в некоторых моделях. Есть ли лучший способ сделать это? это так грязно ..

1 Ответ

0 голосов
/ 21 ноября 2010
injector.mapSingleton(ParserManager);
var parserManager:Parser = injector.getInstance(ParserManager);

в ParserManager:

[Inject]
public var injector:IInjector

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

Вы должны иметь в виду, что после того, как менеджер был отображен, если он вам не нужен немедленно, он будет введен с инжектором при его первом создании (путем внедрения в другой класс, который его использует). Robotlegs создает экземпляры лениво.

...