примечание: и конструктор, и объявление метода пропускают даже ключевые слова public function
для компиляции, но я предполагаю, что это не оригинальный код :)
ответ: вы не можете.
мой вопрос: что вы хотите достичь?
Function
s - единственные вызываемые значения. И Function
s являются примитивами в ActionScript, так же, как int
s или Boolean
s, поэтому нет никакого значимого способа их расширения.
Если вы хотите, чтобы это был объект, сделайте это способом Java, определив интерфейс ICallable, и фактически вызовите метод, или просто используйте функцию. замыкания предоставляют наиболее простую и гибкую возможность создавать функции с состоянием, если вы этого хотите.
edit: ну, вы можете сделать это (как пример):
private var fooInst:Foo = new Foo();
protected var foo:Function = fooInst.call;
, а затем следующие работы, как вы хотите:
<mx:Label text="{foo('Whatever')}"/>
это может быть даже немного более гибко, хотя вы теряете преимущества строгой печати.
Greetz
back2dos