0

我正在尝试在 Actionscript 3 中设置诸如面向方面的编程之类的东西,基本上我唯一需要做的就是这样:

SomeClass.getMethod("methodName").addEventListener(afterMethodExecuted, function() {
    //run code
});

这样,我可以在任何类中的任何方法运行之后(或之前)运行代码,从而实现许多新的可能性。

我应该如何实现这个?

4

1 回答 1

2

您可以在方法上编写包装器。Flex 库的BindUtils类正是使用ChangeWatcher完成的。它通过包装一个属性来做到这一点,但在 ActionScript 中,方法只是一个属性。

我建议阅读这些方法的代码 ($FLEX_ROOT/sdks/4.0.0/frameworks/projects/framework/src/) 以了解如何做同样的事情。

您可能还对FunctionReturnWatcher感兴趣。

于 2010-05-14T20:02:51.103 回答