'无效覆盖。实现接口时,类型不是子类型

时间:2018-02-03 16:50:06

标签: dart flutter

我正在尝试将MealsRepository接口实现到MealsRepositoryImpl中,但是我收到以下错误:

  

无效覆盖。 'MealsRepositoryImpl.findAllForCanteenByDate'('(int,DateTime) - > Future Map int,dynamic')的类型不是'MealRepository.findAllForCanteenByDate'('(int,DateTime) - > Future Map int的子类型,用餐')。

我看不出自己的错误。我目前正在使用Dart插件使用Intellij。

我已经更新了Dart和Flutter插件。

abstract class MealsRepository {
  Future<Map<int, Meal>> findAllForCanteenByDate(int canteenId, DateTime date);
}

class MealsRepositoryImpl extends MealsRepository {

  MensaApi api;

  MealsRepositoryImpl(this.api);

  @override
  Future<Map<int, Meal>> findAllForCanteenByDate(int canteenId, DateTime date) {
    return api.getMealsForCanteenByDate(canteenId, date).then((meals) {
      return meals;
    });
  }
}

1 个答案:

答案 0 :(得分:0)

好的 - 事实证明错误实际上是我忘了导入Meal类。有点愚蠢,但错误信息并没有表达出来。