undefined_named_parameter 在抽象的超级构造函数中 class
undefined_named_parameter in super constructor of abstract class
我是 Dart 和 Flutter 的新手,我一直在尝试制作两个 classes(SuccessState 和 ErrorState)来实现带有可选命名参数的抽象 class (DataState) .出于某种原因,每当我在 SuccessState 和 ErrorState 中调用超级构造函数时,我都会在 SuccessState 构造函数中的“data”参数以及 ErrorState 构造函数中的“status”和“msg”参数上收到 undefined_named_parameter 错误。非常感谢任何输入,谢谢。
abstract class DataState<T> {
final T? data;
final int? status;
final String? msg;
const DataState({this.data, this.status, this.msg});
}
class SuccessState<T> implements DataState<T> {
const SuccessState(T data) : super(data: data);
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
class ErrorState<T> implements DataState<T> {
const ErrorState(int status, String msg) : super(status: status, msg: msg);
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
你做错的是你正在实施,因为你必须扩展 DataState class 然后问题就会解决
'class ErrorState implements DataState'
更改为 class ErrorState 扩展了 DataState
问题是您使用的是 implements
而不是 extends
。使用 implements
.
时不继承超级构造函数
您想将 SuccessState 和 ErrorState 扩展到 DataState。
abstract class DataState<T> {
final T? data;
final int? status;
final String? msg;
const DataState({this.data, this.status, this.msg});
}
class SuccessState<T> extends DataState<T> {
SuccessState(T data) : super(data: data);
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
class ErrorState<T> implements DataState<T> {
const ErrorState(int status, String msg) : super();
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
我是 Dart 和 Flutter 的新手,我一直在尝试制作两个 classes(SuccessState 和 ErrorState)来实现带有可选命名参数的抽象 class (DataState) .出于某种原因,每当我在 SuccessState 和 ErrorState 中调用超级构造函数时,我都会在 SuccessState 构造函数中的“data”参数以及 ErrorState 构造函数中的“status”和“msg”参数上收到 undefined_named_parameter 错误。非常感谢任何输入,谢谢。
abstract class DataState<T> {
final T? data;
final int? status;
final String? msg;
const DataState({this.data, this.status, this.msg});
}
class SuccessState<T> implements DataState<T> {
const SuccessState(T data) : super(data: data);
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
class ErrorState<T> implements DataState<T> {
const ErrorState(int status, String msg) : super(status: status, msg: msg);
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
你做错的是你正在实施,因为你必须扩展 DataState class 然后问题就会解决
'class ErrorState implements DataState'
更改为 class ErrorState 扩展了 DataState
问题是您使用的是 implements
而不是 extends
。使用 implements
.
您想将 SuccessState 和 ErrorState 扩展到 DataState。
abstract class DataState<T> {
final T? data;
final int? status;
final String? msg;
const DataState({this.data, this.status, this.msg});
}
class SuccessState<T> extends DataState<T> {
SuccessState(T data) : super(data: data);
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
class ErrorState<T> implements DataState<T> {
const ErrorState(int status, String msg) : super();
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}