繁体   English   中英

静态扩展函数在 Dart 中不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM