在Dart中,有没有办法拦截对编程结构的访问和变异?

时间:2014-04-11 04:24:57

标签: java spring dart aop interceptor

例如,用于Java的Spring AOP框架提供了拦截某些进程的拦截器的功能,例如,当执行方法时 - Spring AOP可以劫持执行方法,并在方法执行之前或之后添加额外的功能。

我想知道Dart中是否有类似的东西。例如,您可以在Dart中拦截对变量的访问和变异吗?我无法在Dart文档中找到这些内容。

谢谢

1 个答案:

答案 0 :(得分:4)

暂时不能在运行时执行此操作。一旦镜像构建器着陆,你或许可以这样做。来自Reflection in Dart with Mirrors: An Introduction

  

我们希望将来支持更强大的反光功能。这些将包括镜像构建器,旨在允许程序自己扩展和修改,以及基于镜像的调试API。

但是,您可以在预处理器(如 build.dart )或pub transformer中的内置时间执行此操作。如果需要,您还可以使用analyzer package来获取AST。这可以看作是Java中的APT。