我正在尝试在Actionscript 3中设置类似面向方面的编程,基本上我唯一需要做的就是这样:
SomeClass.getMethod("methodName").addEventListener(afterMethodExecuted, function() {
//run code
});
这样我可以在任何类中的任何方法运行之后(或之前)运行代码,从而允许许多新的可能性。
我该如何实现?
答案 0 :(得分:2)
您可以在方法上编写包装器。 Flex库的BindUtils类仅使用ChangeWatcher。它通过包装属性来实现,但在ActionScript中,方法只是一个属性。
我建议阅读这些方法的代码($ FLEX_ROOT / sdks / 4.0.0 / frameworks / projects / framework / src /),以了解如何做到这一点。
您可能也对FunctionReturnWatcher感兴趣。