enums - 我的枚举在类构造函数中变为 null 是否有原因?

标签 enums dart flutter

我在 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/

相关文章:

c# - 是否可以编写一个自定义的 EnumConverter 来代替默认的 EnumConverter?

c++ - 将 char 绑定(bind)到枚举类型

Java基于枚举类型创建对象的方法

dart - 如何与 Dart 上的进程交互?

html - 解释使用 dart Angular 2 Material 中的 Material 扩展面板设置字段的正确语法

android - Flutter - TextFormField 上的键盘

c# - 枚举是去这里的正确方法吗?

dart - 如何在 Fluro 或 Flutter 路由导航器中传递对象或对象列表?

flutter - 'AutoDisposeStreamProvider<T >' can' t被赋值给参数类型 'AlwaysAliveProviderListenable<AsyncValue<T>>'

dart - 如何使文本垂直增长和截断?