问题标签 [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.
dart - Dart VM 本身在 `dart:mirrors` 中实现了 `eval`,开发人员使用它。是否计划公开此方法?
eval
这是在 Dart 平台中使用此方法的代码。
这是通过反射完成的。
附言
我在这里提问是因为我不能在 Dart 邮件列表中提问。
附言
正如我们在中看到static private method
的那样mirrors_impl.dart
:
有人希望这种方法应该公开吗?( this is not a question but just a thought aloud
)。
dart - 如何使用镜子获得声明的类型?
有没有一种方法可以获得 TypeMirror 所反映的类型,所以我想为上面示例中的 2 个属性返回一个类型dynamic
和类型?int
dart - 飞镖,给定一个类的实例,是否可以按升序获取它继承的所有类型的列表?
如果我有:
是否可以获得这样的类型列表?
dart - 在什么情况下,reflectClass(o.runtimeType) 会返回与 reflect(o).type 不同的结果?
来自dartdocs的InstanceMirror.type
:
“在反射器的实际类上返回一个镜像。反射器的类可能与在反射器上调用 runtimeType 所返回的对象不同。”
那么在什么情况下会reflectClass(o.runtimeType)
返回不同的结果reflect(o).type
呢?
我尝试过使用示例代码:
另外有没有比较 2 Type
s 并确定它们是否相等?如上面的示例所示,int
使用常规运算符时 2 个单独的类型不相等==
。
dart - Dart 镜像问题。获取字段
我正在尝试使用镜子,但我在一些简单的代码中有错误。
结果:
这是什么意思?我不知道。为什么它从字符串中获取'_name@0x1aab143'?黑魔法...
mysql - 有没有办法查询一个类是否包含一个已知名称的实例变量?
当从 MySql 拦截错误时,事先不知道传递给我的错误类的内容是什么。所以我编码:
在这种特定情况下,我想知道 e 是否包含实例变量osError
或sqlState
,因为它们中的任何一个都包含特定的错误代码。更一般地说(以提高我的知识)是否有可能写出类似的东西if (firstError.instanceExists(osError)) ...
,以及如何写?
dart - 如何使用镜像获取 Dart 中类的属性类型?
鉴于我有这门课
并且我有一个包含“年龄”的字符串。
如何int
从 aClassMirror
或 an获取字段类型InstanceMirror
?
dart - 使用 Dart 中的反射从 ClassMirror 获取 getter 和/或属性?
以前版本的 dart 能够让 getter 使用
正如在这个答案中发布的那样:https ://stackoverflow.com/a/14505025/2117440
然而,实际版本已被删除,并被替换为
最后一段代码获取所有属性、getter、setter、方法和构造函数。我想知道是否有一种方法可以只获得“getter and attributes”而没有其他方法。
我现在使用的代码是:
正如您在前面的代码中看到的那样,检查是否不是我需要比较的构造函数declaration.simpleName
with cm.simpleName
。直到我明白是低效的,因为我们正在比较字符串。
总之,我想知道是否有或将有更好的方法来解决这个问题。
json - 从没有 Dart 中的类的字符串/符号创建对象的实例?
我知道可以从这个链接中显示的符号创建一个实例:
但这对我不起作用,因为我想做的是在没有类的情况下创建一个实例。
这个问题是因为我有一个带有内部列表的类:
我想将地图转换为此类:
现在我正在做这样的事情:
如您所见,实际上不起作用的行是:
因为他们是在localClassMirror
而不是在创建一个实例MyNestedClass
。我正在寻找类似于以下的方法:
您可以在下一个 URL 中看到完整的源代码:
annotations - 在 Dart 中,您可以在运行时使用反射检索元数据(例如,注释)吗?
如果是这样,这是如何实现的?如果没有,是否有计划在未来的 Dart 版本中支持这一点?我主要指的是您自己创建的自定义注释。
在此文档链接https://www.dartlang.org/docs/spec/latest/dart-language-specification.html#h.d0rowtffuudf中,它说:“元数据与程序构造 p 的抽象语法树相关联紧跟在元数据之后,假设 p 本身不是元数据或注释。如果带注释的程序构造 p 可以通过反射访问,则可以在运行时通过反射调用检索元数据。
在 M3 版本中尚未实现对元数据的反射式访问。"
谢谢你。