例如,用于Java的Spring AOP框架提供了拦截某些进程的拦截器的功能,例如,当执行方法时 - Spring AOP可以劫持执行方法,并在方法执行之前或之后添加额外的功能。
我想知道Dart中是否有类似的东西。例如,您可以在Dart中拦截对变量的访问和变异吗?我无法在Dart文档中找到这些内容。
谢谢
答案 0 :(得分:4)
暂时不能在运行时执行此操作。一旦镜像构建器着陆,你或许可以这样做。来自Reflection in Dart with Mirrors: An Introduction
我们希望将来支持更强大的反光功能。这些将包括镜像构建器,旨在允许程序自己扩展和修改,以及基于镜像的调试API。
但是,您可以在预处理器(如 build.dart )或pub transformer中的内置时间执行此操作。如果需要,您还可以使用analyzer package来获取AST。这可以看作是Java中的APT。