使用构造函数中的方法来初始化参数?

Use a Method in Constructor to initialize a parameter?

我想根据另一个参数的值在我的构造函数中初始化一个参数。

因此,根据 oldEmployee 是否不为空,我应该将他添加到 availableEmployees 列表中,否则按原样使用 availableEmployees 列表。

我想在这个 class 中执行此操作的原因是,我读到在使用 Bloc 时我应该在 Bloc 的状态中进行计算,而不是在 UI 中进行计算。

这是我的 class 的样子:

class ShiftCreatedOrEdited extends ShiftsState {
  final List<Employee> availableEmployees;
  final Employee oldEmployee;

  const ShiftCreatedOrEdited({
    this.availableEmployees,
    this.oldEmployee,
  });

  List<Employee> addOldEmployeeToTheAvailableEmployees(List<Employee> availableEmployees, Employee oldEmployee) {
    if (oldEmployee != null) {
      List<Employee> hList = availableEmployees;
      hList.add(oldEmployee);
      return hList;
    } else {
      return availableEmployees;
    }
  }
}

这个怎么样:

void main() {}

class Employee {}

class ShiftsState {}

class ShiftCreatedOrEdited {
  final Employee oldEmployee;
  final List<Employee> availableEmployees;

  ShiftCreatedOrEdited(
      Employee _oldEmployee, List<Employee> _availableEmployees)
      : this.availableEmployees =
            _availableEmployees + (_oldEmployee != null ? [_oldEmployee] : []),
        this.oldEmployee = _oldEmployee;
}