Enums 我的枚举在类构造函数中变为null有什么原因吗?

Enums 我的枚举在类构造函数中变为null有什么原因吗?,enums,dart,flutter,Enums,Dart,Flutter,我在用户类构造函数中包含一个枚举。类中的该字段在新实例中变为null 我直接设置枚举值。之后我打印class字段。它是空的 enum Genders { MALE, FEMALE, OTHER } class User extends SharedUser { User( String firstName, Genders gender, ) : super (firstName: firstName); Genders gender; }

我在
用户
类构造函数中包含一个枚举。类中的该字段在新实例中变为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(String firstName, this.gender): super(firstName: firstName);

Dart不会神奇地将参数构造函数分配给类字段。你必须自己指定这种行为

因此,您的用户构造函数应该是:

User(String firstName, this.gender): super(firstName: firstName);

枚举不是复数的。枚举不是复数的。