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

use*_*893 5 java aop spring interceptor dart

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

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

谢谢

Ale*_*uin 4

目前您无法在运行时执行此操作。一旦镜子制造商登陆,你也许可以做这样的事情。摘自Dart with Mirrors 中的反射:简介

\n\n
\n

我们\xe2\x80\x99d 希望将来支持更强大的反射功能。其中包括镜像构建器(旨在允许程序扩展和修改自身)以及基于镜像的调试 API。

\n
\n\n

但是,您可以在构建时在预处理器(如 build.dart 或使用pub Transformer中执行此操作。如果需要,您还可以使用分析器包来获取 AST。这可以看作是Java中的APT。

\n