Передать функцию набора в качестве аргумента - PullRequest
0 голосов
/ 11 ноября 2009

Как я могу передать функцию 'set' в качестве аргумента объекта функции другой функции? например:

public class IdModel
{
    private var _id:String;

    public function IdModel(source:Source)
    {
        //Create Binding
        BindingUtils.bindSetter(id,source,"id");

    }

    public function get id():String
    {
        return _id;
    }

    public function set id(value:String):void
    {
        _id = value;
    }
}
}

В приведенном выше примере аргумент 'id' оценивается и возвращает строку, поэтому он не скомпилируется с ошибкой: «Строка не присваивается аргументу типа Function».

Спасибо

1 Ответ

1 голос
/ 11 ноября 2009

В данном конкретном случае вам не нужно; Вы можете использовать BindingUtils.bindProperty вместо:

BindingUtils.bindProperty(this, "id", source, "id");

Но если вы действительно хотите использовать bindSetter и функцию, вы, вероятно, можете сделать:

BindingUtils.bindSetter(function (arg:*): void { id = arg; }, source, "id");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...