[英]Static extension functions not work in Dart
我想要一个静态扩展功能。 我创建了一个,它不起作用。 我从教程中复制了一个,它有效。
为什么复制的函数对我的函数不起作用?
这是扩展
extension DateTimeExtension on DateTime {
String toDbDate() {
return DbService.dtFormat.format(this);
}
static DateTime parseDbDate(String dbDate) {
return DbService.dtFormat.parse(dbDate);
}
}
// extension from tutorial I followed works
extension ShapeBorderX on ShapeBorder {
static ShapeBorder roundedRectangle(double radius) {
return RoundedRectangleBorder(
borderRadius: BorderRadius.all(
Radius.circular(radius),
),
);
}
}
这就是我如何使用它
method() {
DateTime.now().toDbDate(); // works
DateTime.parseDbDate("2020-02-01"); // does not work
ShapeBorderX.roundedRectangle(12.0); // works
}
显然我做错了什么,但我不知道是什么..
谢谢你的帮助。
好的,我现在看到了。
我必须调用扩展上的方法而不是它扩展的类。
DateTimeExtension.parseDbDate(...)
工作正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.