我在 User
类构造函数中包含一个枚举。类中的该字段在新实例中变为 null。
我直接设置枚举值。之后我打印类(class)字段。为空。
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 打印为 null
最佳答案
Dart 不会神奇地将参数构造函数分配给类字段。您必须自己指定此类行为。
因此,您的 User 构造函数应该变成:
User(String firstName, this.gender): super(firstName: firstName);
关于enums - 我的枚举在类构造函数中变为 null 是否有原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54393769/