问题标签 [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 投票
9 回答
152994 浏览

dynamic - 如何在 Dart 中执行运行时类型检查?

Dart 规范指出:

具体类型信息反映了运行时对象的类型,并且总是可以通过动态类型检查构造(其他语言中的 instanceOf、casts、typecase 等的类似物)来查询。

听起来不错,但没有instanceof-like 运算符。那么我们如何在 Dart 中执行运行时类型检查呢?有可能吗?

0 投票
2 回答
1439 浏览

dart - 有没有办法在 Dart 的类中动态调用方法或设置实例变量?

我希望能够用 Dart 类构造函数做这样的事情:

显然,这是行不通的,因为this没有[]=方法。

有没有办法让它发挥作用,或者它根本就不是做事的“飞镖方式”?如果不是,你能告诉我什么是解决这个问题的正确方法吗?

0 投票
2 回答
359 浏览

dart - 无法在 Dart 中解析类名“InvocationMirror”

我一直在尝试使用 Dart 的noSuchMethod(),但是这段代码

导致以下错误:cannot resolve class name 'InvocationMirror' from 'MyClass'

看起来没有像 InvocationMirror 这样的类。它可能是没有它的旧版本的飞镖吗?我拥有的是今天刚下载的来自 SDK for Mac 的稳定版本。

0 投票
1 回答
745 浏览

dart - 如何通过镜像 API 获取静态方法的具体对象?

我有这样的事情:

通过反射,我可以得到这个类的 ClassMirror。从这一点开始,我将如何获得具体的静态函数以便调用它。

请注意,我尝试使用:

这最初似乎可以工作,但它不支持将复杂类型作为参数传递,这个静态函数需要一个复杂类型作为它的参数之一。

理想情况下,我想获得代表静态方法的“函数”对象,以便可以直接调用它。

0 投票
3 回答
2976 浏览

reflection - 基于镜子的反射和传统反射有什么区别?

像 Dart 这样的一些语言使用基于镜像的反射,所以简单来说,这种实现与您在 C# 或 Java 中看到的传统反射之间有什么区别。

更新:我发现 Gilad Bracha 的这个优秀(而且有点古怪)的视频是关于 Newspeak 中基于镜子的反射。 http://www.hpi.uni-potsdam.de/hirschfeld/events/past/media/100105_Bracha_2010_LinguisticReflectionViaMirrors_HPI.mp4(镜像内容从 7:42 开始)

0 投票
2 回答
120 浏览

mocking - dart - 模拟,按名称调用的方法名,重构失败

我已经使用了 dart unittest 框架和所描述的包含的 Mock 类

然而,模拟调用中存在依赖关系,即:

其中对isLocked方法的调用是按名称调用的。如果有人重命名该isLocked方法,重构框架将不会重命名该调用。

我想知道反射(镜子)是否可以以某种方式提供帮助,但我还没有找到解决方案。

干杯彼得

0 投票
1 回答
393 浏览

dart - 在 Dart 中,setter 方法的生成名称是什么?

如果我有一个定义了 setter 的类,我如何引用然后生成的方法作为来自该类实例的函数。规范表明它将是变量 + '=" 的 id (似乎很愚蠢),但这不会解析。

例如:

0 投票
3 回答
500 浏览

dart - 在 Dart 的库下读取静态文件?

我正在 Dart 中编写一个库,并且在库文件夹下有静态文件。我希望能够读取这些文件,但我不确定如何检索它的路径......在其他一些语言中没有__FILE__$0类似。

更新:看来我还不够清楚。让这帮助你理解我:

测试.dart

飞镖

它给了我错误的文件夹位置。它给了我通往test.dart+的路径resources/,但我想要通往foo.dart+的路径resources/

0 投票
3 回答
25919 浏览

class - 如何判断一个对象是否是一个类的实例

在 Dart 语言中,如何确定一个对象是否属于某个类?

我正在寻找类似以下的事情:

什么是返回值类型?它必须是一个字符串吗?


镜像库一直在上下波动,现在似乎正在快速变化,因为我发现的一件事根本没有如图所示。

0 投票
2 回答
193 浏览

ruby - Dart 中是否有 Ruby 中 instance_variable_set 方法的等价物?

如果没有,是否会出现类似的情况?

这是我离不开的 JavaScript、Ruby 和 Perl 的一个特性。我知道你可以用哈希成员伪造它,但我希望能够从解析器创建(任意)“第一类”成员。