问题标签 [dart-mirrors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
535 浏览

dart - Dart VM 本身在 `dart:mirrors` 中实现了 `eval`,开发人员使用它。是否计划公开此方法?

eval这是在 Dart 平台中使用此方法的代码。

这是通过反射完成的。

运行时/lib/mirrors_impl.dart

运行时/lib/mirrors.cc

运行时/vm/bootstrap_natives.h

附言

我在这里提问是因为我不能在 Dart 邮件列表中提问。

附言

正如我们在中看到static private method的那样mirrors_impl.dart

有人希望这种方法应该公开吗?( this is not a question but just a thought aloud)。

0 投票
1 回答
200 浏览

dart - 如何使用镜子获得声明的类型?

有没有一种方法可以获得 TypeMirror 所反映的类型,所以我想为上面示例中的 2 个属性返回一个类型dynamic和类型?int

0 投票
1 回答
63 浏览

dart - 飞镖,给定一个类的实例,是否可以按升序获取它继承的所有类型的列表?

如果我有:

是否可以获得这样的类型列表?

0 投票
2 回答
155 浏览

dart - 在什么情况下,reflectClass(o.runtimeType) 会返回与 reflect(o).type 不同的结果?

来自dartdocsInstanceMirror.type

“在反射器的实际类上返回一个镜像。反射器的类可能与在反射器上调用 runtimeType 所返回的对象不同。”

那么在什么情况下会reflectClass(o.runtimeType)返回不同的结果reflect(o).type呢?

我尝试过使用示例代码:

另外有没有比较 2 Types 并确定它们是否相等?如上面的示例所示,int使用常规运算符时 2 个单独的类型不相等==

0 投票
2 回答
298 浏览

dart - Dart 镜像问题。获取字段

我正在尝试使用镜子,但我在一些简单的代码中有错误。

结果:

这是什么意思?我不知道。为什么它从字符串中获取'_name@0x1aab143'?黑魔法...

0 投票
2 回答
59 浏览

mysql - 有没有办法查询一个类是否包含一个已知名称的实例变量?

当从 MySql 拦截错误时,事先不知道传递给我的错误类的内容是什么。所以我编码:

在这种特定情况下,我想知道 e 是否包含实例变量osErrorsqlState,因为它们中的任何一个都包含特定的错误代码。更一般地说(以提高我的知识)是否有可能写出类似的东西if (firstError.instanceExists(osError)) ...,以及如何写?

0 投票
1 回答
1050 浏览

dart - 如何使用镜像获取 Dart 中类的属性类型?

鉴于我有这门课

并且我有一个包含“年龄”的字符串。

如何int从 aClassMirror或 an获取字段类型InstanceMirror

0 投票
1 回答
187 浏览

dart - 使用 Dart 中的反射从 ClassMirror 获取 getter 和/或属性?

以前版本的 dart 能够让 getter 使用

正如在这个答案中发布的那样:https ://stackoverflow.com/a/14505025/2117440

然而,实际版本已被删除,并被替换为

最后一段代码获取所有属性、getter、setter、方法和构造函数。我想知道是否有一种方法可以只获得“getter and attributes”而没有其他方法。

我现在使用的代码是:

正如您在前面的代码中看到的那样,检查是否不是我需要比较的构造函数declaration.simpleNamewith cm.simpleName。直到我明白是低效的,因为我们正在比较字符串。

总之,我想知道是否有或将有更好的方法来解决这个问题。

0 投票
1 回答
750 浏览

json - 从没有 Dart 中的类的字符串/符号创建对象的实例?

我知道可以从这个链接中显示的符号创建一个实例:

从 Dart 中的字符串创建对象的实例?

但这对我不起作用,因为我想做的是在没有类的情况下创建一个实例。

这个问题是因为我有一个带有内部列表的类:

我想将地图转换为此类:

现在我正在做这样的事情:

如您所见,实际上不起作用的行是:

因为他们是在localClassMirror而不是在创建一个实例MyNestedClass。我正在寻找类似于以下的方法:

您可以在下一个 URL 中看到完整的源代码:

DSON 源代码

0 投票
2 回答
2143 浏览

annotations - 在 Dart 中,您可以在运行时使用反射检索元数据(例如,注释)吗?

如果是这样,这是如何实现的?如果没有,是否有计划在未来的 Dart 版本中支持这一点?我主要指的是您自己创建的自定义注释。

在此文档链接https://www.dartlang.org/docs/spec/latest/dart-language-specification.html#h.d0rowtffuudf中,它说:“元数据与程序构造 p 的抽象语法树相关联紧跟在元数据之后,假设 p 本身不是元数据或注释。如果带注释的程序构造 p 可以通过反射访问,则可以在运行时通过反射调用检索元数据。

在 M3 版本中尚未实现对元数据的反射式访问。"

谢谢你。