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

dart - 如何使用反射(镜像)访问 Dart 类中的方法名称?

我需要“获取” Dart 类中的方法。

我怎样才能做到这一点?

我希望能够调用这些方法。

我可以看一个例子吗?

0 投票
3 回答
7862 浏览

dart - Dart 中的动态类方法调用

就像在 PHP 中动态类方法调用中的问题一样,我想在 Dart 中执行此操作。

那可能吗?

0 投票
1 回答
1546 浏览

dart - 我如何测试 Dart 中函数的存在?

有没有一种方法可以测试 Dart 中函数或方法的存在,而无需尝试调用它并捕获 NoSuchMethodError 错误?我正在寻找类似的东西

测试一个名为的函数是否func_name存在。提前致谢!

0 投票
4 回答
5469 浏览

dart - 从字符串实例化一个类

在 dart 中是否可以从字符串实例化一个类?

例如:

  • javascript中的香草:
  • 目标-C:
0 投票
1 回答
2537 浏览

generics - 如何在 Dart 中使用镜像获取泛型类型变量的具体类型?

假设我有一个这样List的。String

我如何使用镜子找出那myList是 a Listof s?String


我尝试使用typeVariablesofClassMirror但镜子似乎只是描述了通用List类。

我也在文档中找到了这一点,但我还没有找到ClassMirror访问originalDeclaration不会抛出NoSuchMethodError.

final ClassMirror 原声明

这种类型的原始声明的镜像。

对于大多数类,它们是它们自己的原始声明。然而,对于泛型类,具有未绑定类型变量的原始类声明与具有绑定类型变量的泛型类的实例化之间存在区别。

0 投票
1 回答
1549 浏览

dart - 使用 dart:mirrors 反射检索 getter 值

我有以下代码(简化),它使用反射来迭代类的字段和 getter 并输出值。该类ContainsGetter包含一个getter,ContainsField该类包含一个简单的字段。

使用dart:mirrors库,我可以使用 ) 获取字段的值instanceMirror.getField(fieldName),但不能使用instanceMirror.invoke(fieldName,[]).

以下 Dart 脚本(使用 build 17463)提供以下输出:

应用脚本

输出

(一个可以接受的可能是“这部分还没有写出来!”)

0 投票
1 回答
1034 浏览

dart - 在 Dart 中动态加载类

所以,我查看了镜子,它们可能是一个选择,但考虑到它们的异步特性,它们可能真的很难使用,或者从长远来看是不可行的。由于它们目前不受支持(只是一个玩物),因此无论如何它们目前都不是真正可行的。

问题:给定一系列字符串,例如。[ "Foo", "Bar" ]基类ApplicationWidgetinlibrary corelib;以及每个字符串的对应类FooWidgetin BarWidget,这是目前将字符串转换为对应类的实例的library applibrary;最优雅的方法,适用于 dart2jsApplication

为了清楚起见,等效的 PHP 伪示例,

输出

0 投票
3 回答
187 浏览

dart - 有没有办法检查一个类是否是抽象的?

我需要一种方法来检查一个类是否是抽象的。有人可以帮我吗?

0 投票
1 回答
398 浏览

dart - dart 上是否有相当于 python 的 dir() ?

dir()正如标题所说,飞镖上是否有相当于蟒蛇的东西?

0 投票
2 回答
224 浏览

dart - Dart Mirror API:获取反射调用的结果

让镜子返回期货极大地限制了你可以用它们做的事情。

例如,

我通常这样做的方式是在 MagicalDynamicWrapper 中定义 noSuchMethod:

  • 这将检查方法映射中是否存在具有这样名称的方法,然后调用它。
  • 如果没有,它将通过反射调用“真实”对象。

不幸的是,调用真实对象总是会返回一个未来。所以它不起作用。

在某些时候,可以获得 Future 的值(使用 value getter),但该 getter 不再可用。

我的问题:

有没有办法同步获得反射调用的结果?

在分布式环境中,futures 绝对是要走的路。但是在所有元信息都可用的非分布式设置中,应该可以获取反射调用的值。我会对测试框架和构建工具的作者产生巨大的影响。