Flutter 调用私有构造函数-构造函数不会';不存在
我看到了这一点,并试图在我的代码中复制它 下面是基类:Flutter 调用私有构造函数-构造函数不会';不存在,flutter,dart,Flutter,Dart,我看到了这一点,并试图在我的代码中复制它 下面是基类: class ResponseObjectBase<T> { bool success; T responseObject; ResponseObjectBase._fromJson(Map<String, dynamic> json){ success = true; } factory ResponseObjectBase.fromJson(Map<String, dynami
class ResponseObjectBase<T> {
bool success;
T responseObject;
ResponseObjectBase._fromJson(Map<String, dynamic> json){
success = true;
}
factory ResponseObjectBase.fromJson(Map<String, dynamic> json) {
if (T == OsGridRefModel) {
return OsGridRefModel.fromJson(json) as ResponseObjectBase<T>;
}
throw UnimplementedError();
}
}
谢谢。我看不出您的代码有任何问题。你是如何使用它的?你对“父类”的使用令人困惑。你的意思是“派生类”。如果派生类的代码位于与基类分开的Dart库中(通常这意味着位于单独的
.Dart
文件中),则它将无法使用私有基类构造函数。私有构造函数只能在该库中使用。我看不出您的代码有任何问题。你是如何使用它的?你对“父类”的使用令人困惑。你的意思是“派生类”。如果派生类的代码位于与基类分开的Dart库中(通常这意味着位于单独的.Dart
文件中),则它将无法使用私有基类构造函数。私有构造函数只能在该库中使用。
class OsGridRefModel extends ResponseObjectBase<OsGridRefModel>{
String descriptor;
double easting;
double northing;
OsGridRefModel.fromJson(Map<String, dynamic> json) : super._fromJson(json) {
this.descriptor = json['descriptor'] as String;
this.northing = json["northing"] as double;
this.easting = json["easting"] as double;
this.responseObject = this;
}
}
The class 'ResponseObjectBase<OsGridRefModel>' doesn't have a constructor named '_fromJson'.
Try defining a constructor named '_fromJson' in 'ResponseObjectBase<OsGridRefModel>', or invoking a different constructor.