将set函数作为参数传递

时间:2009-11-11 11:00:11

标签: flex function

如何将'set'函数作为另一个函数的Function Object参数传递? 例如:

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'参数并返回一个String,因此它不会使用错误进行编译:“String不能赋值给Function类型的参数。”

由于

1 个答案:

答案 0 :(得分:1)

在这种特殊情况下你不需要;您可以改为使用BindingUtils.bindProperty

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

但是如果你真的想使用bindSetter和函数你可能会这样做:

BindingUtils.bindSetter(function (arg:*): void { id = arg; }, source, "id");