【问题标题】:Programmatically get all the 'static const' defined in a Dart class in Flutter app以编程方式获取 Flutter 应用程序中 Dart 类中定义的所有“静态常量”
【发布时间】:2020-04-15 05:01:46
【问题描述】:

我是 Dart 和 Flutter 的新手。

具体来说,我从一个我认为很简单的问题开始:以编程方式获取 Flutter 附带的所有图标的名称。我发现它们在 Icons 类中被定义为“静态常量”。那么,如何在运行时以编程方式获取所有这些名称?

我发现有一个“镜像”库,但它不会在颤振中工作。我尝试使用 jsonEncode(Icons) 来查看它可能会做什么,但出现错误:“将对象转换为可编码对象失败:图标”。

肯定有一种简单的方法可以在运行时以编程方式在 Dart 中获取类的“静态常量”或其他属性?

【问题讨论】:

  • 不,没有简单的方法。
  • 感谢您对我的回答进行编辑。模组拒绝了编辑,但它是正确的;我已将其重新应用于答案。

标签: flutter dart


【解决方案1】:

您可以使用package:analyzer 对 Dart 代码进行静态分析。这个包是 dartanalyzer 的动力,所以它的重量很重,但应该能够完成你想做的事情。

例如,我们做了类似的事情来收集核心库中fuzz testing in the Dart SDK 的所有类型。

【讨论】:

  • 有例子吗?
  • 是的,通过给出一个简单的例子来说明问题的解决方案可能会让事情变得更容易
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-02
相关资源
最近更新 更多