如何解决分析器不会强制在抽象类上实现“必需的”Flutter Foundation 标记
我正在考虑提交问题,但我想知道您的意见,看看是否真的如此。
情况是这样的:如果我在构造函数上有一个具有所需公共参数的抽象类,分析器会强制孩子对其进行检测。但是,如果我使用带有 required
Flutter Foundation 标记的命名参数执行此操作,分析器将无法识别它并允许毫无问题地进行编译
import 'package:flutter/foundation.dart';
abstract class AbstractPrint {
final String stringTest;
AbstractPrint({@required this.stringTest});
void printString();
}
class RealPrint extends AbstractPrint {
@override
void printString() {
print(stringTest);
}
}
void main() {
final realPrint = RealPrint();
realPrint.printString();
}
更新
当我将此示例分离到一个干净的文件夹并检查 flutter analyze
时,分析器输出为
错误 • 参数“stringTest”因其类型而不能具有“null”值,并且未提供非空默认值 • lib/main.dart:6:33 • missing_default_value_for_parameter
发现 1 个问题。 (在 1.7 秒内运行)
奇怪的是 VS Code 编译没有问题,分析器没有显示任何东西......:S
解决方法
当我将此示例分离到一个干净的文件夹并检查 flutter analyze
时,分析器输出为
error • The parameter 'stringTest' can't have a value of 'null' because of its type,and no non-null default
value is provided • lib/main.dart:6:33 • missing_default_value_for_parameter
1 issue found. (ran in 1.7s)
奇怪的是 VSCode 编译没有问题,分析器没有显示任何东西......:S
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。