【问题标题】:how to use string as function in dart?如何在飞镖中使用字符串作为函数?
【发布时间】:2023-03-04 02:40:01
【问题描述】:

我陷入了需要双玩偶功能的情况,例如 php。喜欢:

var citis = [];

我想使用:

citis = ServiceList.mycity();

改为:

if(mycity = 'Delhi') { citis = ServiceList.Delhi();  } else
if(mycity = 'Mumbai') { citis = ServiceList.Mumbai();  }

我确信这是可能的,但是如何,有人可以帮忙吗?谢谢在 前进。

【问题讨论】:

  • Dart 没有这种动态调用,因为当 Dart 作为代码编译的一部分进行优化时,无法确定实际使用了哪些方法(因为字符串可以在运行时构建)。你在控制ServiceList 吗?如果是这样,您可以创建一个Map,其中键是您的城市名称,值是您想要的值。然后,您可以在此地图中查找您的值。

标签: android ios flutter dart listview


【解决方案1】:

如果是 JavaScript,你可以得到字符串:"ServiceList." + mycity + "()",然后使用 eval 函数执行它。

使用 Dart Eval 包在 Dart 中完成同样的事情。将ServiceList.mycity() 函数作为字符串,并将mycity 替换为您想要的任何城市。然后,使用包对其进行评估。

【讨论】:

  • Dart Eval 太复杂了,我尝试了很多,都没有成功。
猜你喜欢
  • 1970-01-01
  • 2021-04-04
  • 2022-11-24
  • 1970-01-01
  • 2020-09-07
  • 2014-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多