【发布时间】:2022-01-11 19:57:49
【问题描述】:
我喜欢在有意义的时候在我的类中使用 final 成员,但是我在尝试做一些相对简单的事情时遇到了问题:
import 'dart:ui';
class Foo {
final PictureRecorder recorder;
final Canvas canvas;
final int margin;
Foo({
this.margin = 10,
}) : recorder = PictureRecorder(),
canvas = Canvas(recorder) { // this line errors out
}
}
我从编译器得到的错误是:
The instance member 'recorder' can't be accessed in an initializer. Try replacing the reference to the instance member with a different expression
是否有另一种方法可以在不使 canvas 字段成为非最终字段的情况下做我想做的事情?
我知道我可以使用非最终私有字段和自定义 getter 使类“从外部”看起来相似,但这感觉像是一种不必要的解决方法。
【问题讨论】:
标签: flutter dart dart-null-safety