constructor - 使用构造函数参数来评估彼此依赖的最终值。颤振/飞镖
问题描述
我有一个小部件,它接受一个代表允许在屏幕上显示的页面的数字。如果设备很弱,bool
则可以传递一个覆盖初始值的设备。但是,由于所有值都是最终值,因此我必须在设置值之前在构造函数中对其进行评估。
class _A extends StatefullWidget{
_A(this.limitPages,
this.pagesToDisplay: limitPages ? 10 : pagesToDisplay,
)
final int pagesToDisplay;
final bool limitPages;
}
我可以在初始化列表中声明它,但是我不能为pagesToDisplay
.
class _A extends StatefullWidget{
_A(this.limitPages)
:this.pagesToDisplay: limitPages ? 10 : pagesToDisplay
final int pagesToDisplay;
final bool limitPages;
}
有没有办法在构造函数设置最终值之前/之前断言语句?
解决方案
如果要在初始化列表中使用参数,该参数不能是初始化参数,您需要在初始化列表中进行初始化:
class _A {
_A(bool limitPages, int pagesToDisplay)
: limitPages = limitPages,
pagesToDisplay = limitPages ? 10 : pagesToDisplay;
final int pagesToDisplay;
final bool limitPages;
}
推荐阅读
- graphql - GraphQL 过滤器不返回所有结果
- python - 捕获 Python 云存储错误
- python - Yowsup-cli 旧版本注册失败
- elasticsearch - 如何使用 Azure devops docker-compose 任务推送 docker-compose 服务?
- javascript - 访问列表中的无名对象
- python - 错误:尝试安装 ciso8601 时命令出错,退出状态为 1
- javascript - 使用 Thymeleaf 在文本中调用 js 函数
- image-processing - 像素参考全景图像坐标转换为世界坐标
- c# - 将 Visual Studio 与 .Net Core 一起使用时遇到问题
- c++ - Eclipse:没有这样的文件或目录奇怪的行为