我有一个名为App的类,其中包含一些字段。 仅在传递给构造函数的参数不为null时,我才希望初始化最终字段。
例如在下面的代码中,我仅在不为空时才要设置配置参数。
我尝试了以下代码,但无法正常工作
@immutable
class App {
final AuthState auth;
final RConfig config;
App({AuthState auth, this.config}):
auth = auth ?? new AuthState(), config = config != null ? config : this.config ;
尽管我对dart很陌生,但我知道我不能两次初始化final字段,但是由于存在一些应用状态,因此必须重新创建AppState且RConfig那时可能为null。
我的问题很简单,这是如何在分配多个最终字段之前检查其有效性,例如null或空。
答案 0 :(得分:1)
您不能两次初始化一个字段。您可以使用初始化形式(config
)和初始化列表项this.config
来初始化config = ...
。
我不确定您要使用config
做什么,但是首先将其声明为常规参数,然后找出您想做什么:
AppState({AuthState auth, RConfig config})
: auth = auth ?? new AuthState(), config = config; // or something