flutter - 变量可以用作 dart 语言中命名参数的键吗?
问题描述
这就是我想要做的:
My constructor
Item({this.id})
Creating an Item
Item(ItemFields.id: 'abc')
看来我必须这样做:
Item(id: 'abc')
如果可以避免的话,我宁愿不要像这样对参数名称进行硬编码。
解决方案
使用 可以实现与您想要的类似的东西dart:mirrors
,但它有一些缺点:
- 不适用于所有平台(特别是在 Flutter 中根本不起作用)
- (与 1 相关)防止 tree-shaking,因为所有代码都可以通过反射以在编译时不可分析的方式执行
- API 不稳定
如果您对此的主要关注是与重命名有关,正如您的评论所暗示的,大多数 IDE 允许您重命名符号,重命名所有出现。在 VSCode 中,快捷键是 F2,在 Android Studio 中是 Shift+F6。
推荐阅读
- mysql - 使用 R 在 MySQL 上的临时 JSON 变量中的双引号
- python-3.x - 如何使用带有 lxml 和 python 的预先存在的 etree 元素创建 xml 文档?
- java - 在条件下将字符串或整数数组转换为逗号分隔的整数或字符串
- javascript - NodeJS - 如何使 res.render() 在函数之后运行而不是异步运行
- javascript - 在 Node.js 中运行 MOCK API 服务器时,收到错误消息 CANNOT GET /
- javascript - AJAX 请求不做任何事情
- vue.js - Vuetify 工具提示未显示在 DOM 中
- javascript - PUB/SUB Api 不发回消息,可能是什么问题?
- scala - 一些和无等的猫实例
- django-forms - 选择一个有效的选项。
不是可用的选择之一