我在User
类构造函数中包含一个枚举。在新实例中,该类中的该字段变为空。
我直接设置枚举值。我随后打印班级字段。它为空。
enum Genders {
MALE,
FEMALE,
OTHER
}
class User extends SharedUser {
User(
String firstName,
Genders gender,
) : super (firstName: firstName);
Genders gender;
}
final User user = User(
'Bob',
Genders.OTHER
);
print(user.firstName); // Bob
print(user.gender); // null
预期:user.gender将作为Genders打印。OTHER
实际:user.gender打印为空
答案 0 :(得分:2)
Dart不会神奇地将参数构造函数分配给类字段。您必须自己指定这种行为。
这样,您的User构造函数应变为:
User(String firstName, this.gender): super(firstName: firstName);