import 'package:meta/meta.dart';
enum Course {
math,
english,
}
class CourseData {
const CourseData({@required this.courseName, @required this.schoolCourse});
final String courseName;
final bool schoolCourse;
static const Map<Course, CourseData> allCourses = {
Course.math: CourseData(courseName: 'math', schoolCourse: true),
Course.english: CourseData(courseName: 'english', schoolCourse: true),
};
List<CourseData> get list {
List<CourseData> list;
allCourses.forEach((k, v) => list.add(v));
return list;
}
}
您好,我有一个如上所述的课程。我有一张地图,我想从中列出一个清单。因此,我创建了一个吸气剂,但是它不起作用,因为当我尝试print(courses.list);
时遇到错误
“ The getter 'list' isn't defined for the class 'Map<Course, CourseData>'.
”
答案 0 :(得分:2)
您没有初始化列表。
更改以下行:
List<CourseData> list;
具有以下一项:
List<CourseData> list = [];
答案 1 :(得分:1)
错误是因为您最有可能尝试直接从类而不是从类的实例获取列表,因此将getter设置为静态将解决您的问题(最好是静态的,因为它已经只能访问静态值)
另外,如果您忘记初始化列表,则会出错
public class Api {
int results;
Statistics statistics;
}