java - 在 Dart 中,有没有办法拦截对编程结构的访问和更改?

标签 java spring dart aop interceptor

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

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

谢谢

最佳答案

目前您不能在运行时 执行此操作。一旦mirror builders 落地,您也许可以做这样的事情。来自 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。

关于java - 在 Dart 中,有没有办法拦截对编程结构的访问和更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23003498/

相关文章:

java - 关于并发 HashMap 的内部工作

java - 复合 ID JPA2 和 Spring Data 不起作用

java - 当我运行 Spring 这个错误时常来?是这个版本的jar吗?

constructor - 使用构造函数参数来评估相互依赖的最终值。 flutter/Dart

Java 预处理器 - 将代码插入每个函数

java - 如何对字符串列表进行排序并在 Java 中找到 1000 个最常见的值

使用 UDP 的 Java 套接字编程

java - LDAP中超时的实现

flutter - 传递setState回调的最惯用的方法是什么?

flutter - 我已经设置了 TextButtonThemeData,但不起作用