例如,用于Java的Spring AOP框架提供了拦截某些进程的拦截器的功能,例如,当执行方法时 – Spring AOP可以劫持执行方法,并在方法执行之前或之后添加额外的功能.
我想知道Dart中是否有类似的东西.例如,您可以在Dart中拦截对变量的访问和变异吗?我无法在Dart文档中找到这些内容.
谢谢
解决方法:
你现在不能在运行时这样做.一旦镜像构建器着陆,你也许可以做这样的事情.从Reflection in Dart with Mirrors: An Introduction起
We’d like to support more powerful reflective features in the future. These would include mirror builders, designed to allow programs to extend and modify themselves, and a mirror-based debugging API as well.
但是,您可以在预处理器(如build.dart)或pub transformer中在内置时执行此操作.如果需要,还可以使用analyzer package获取AST.这可以看作是Java中的APT.