Метод инъекций в петрушке

Можно ли внедрить метод, используя каркас петрушки в гибком приложении?

Я могу внедрить сам класс, но возможно ли ввести метод.

1 ответ

Вы можете разместить теги метаданных [Inject] в любом количестве методов:

package com.bookstore.actions 
{

class LoginAction 
    {
    private var service:LoginService;
    private var manager:UserManager;

    [Inject]
    public function init (service:LoginService, manager:UserManager = null) : void        
        {
        this.service = service;
        this.manager = manager;    
        }

    }
}

Как и в случае с Constructor Injection, Parsley распознает, является ли параметр метода необязательным или нет, и соответственно обрабатывает зависимость как необязательную или обязательную. Инъецируемый объект будет выбран по типу, поэтому вы должны убедиться, что в вашу конфигурацию включен не более одного объекта с подходящим типом. Для инъекции метода нет ограничений на конфигурацию MXML, поэтому в отличие от инжектора конструктора вы также можете использовать простые теги MXML для добавления объектов в контейнер.

Рекомендации

Руководство по петрушке: метод инъекций

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