构造函数的类型不能为 parameters.dart(type_parameter_on_constructor)

Constructors can't have type parameters.dart(type_parameter_on_constructor)

我根据这个 page 使用以下飞镖包 (json_annotation, json_serializable, build_runner) 到 serialize/de-serialize json .

这是我的代码:

import 'package:json_annotation/json_annotation.dart';

part 'car_type.g.dart';

@JsonSerializable()
class CarType {

  final int id;

  @JsonKey(name: 'type_label')
  final String label;

  final String description;

  CarType(this.id, this.label, this.description);

  factory CarType.fromJson(Map<String, dynamic> json) =>
      _$CarTypeFromJson(json);

  factory List<CarType> CarType.fromJsonList(dynamic jsonArray){
    final list = jsonArray as List;
    final carTypesList =  list.map((i) => CarType.fromJson(i));
    return carTypesList;
  }
}

因此,对于 factory List<CarType> CarType.fromJsonList(dynamic jsonArray),我想传递一个 json 数组来获取 CarType 对象的列表。但是我遇到了一些编译器错误,即:

知道发生了什么吗?

factory List<CarType> CarType.fromJsonList(dynamic jsonArray){

您不能为构造函数指定 return 类型。
return 类型始终与构造函数所属的 class 类型相同。

只需将 factory 替换为 static 就可以了, 除了 json_serializable 需要一个工厂构造函数,然后您需要删除 return 类型并找到另一种方法来获取 List.