首页 > 解决方案 > 在 Dart 中创建扩展方法

问题描述

通常当我创建一个自定义类时,我可以创建一个使用该类作为参数的函数,例如:

class Sphere{
    double calculateRadius() {return 40.0;}
}

所以我可以调用 Sphere.calculateRadius()。

但是对于预先存在的类,例如 String 类,这是无法做到的。例如。我试过做类似的事情:

String.createFrom(String s){return "new";}

但它不起作用(Android Studio 甚至不让我编译。)。

这是可能的,如果是的话,我怎么能在 Dart 中做到这一点?如果我创建了它,我将如何访问我从中调用方法的对象?(示例中的字符串)

标签: dartflutter

解决方案


截至 2020 年 1 月,Dart 2.7 正式引入了扩展方法。要扩展一个类,可以这样做:

extension NewExtension on double {
  int get myMethod {
    return (1/this*10).toInt();
  }
}

推荐阅读