dart - 在 Dart 中创建扩展方法
问题描述
通常当我创建一个自定义类时,我可以创建一个使用该类作为参数的函数,例如:
class Sphere{
double calculateRadius() {return 40.0;}
}
所以我可以调用 Sphere.calculateRadius()。
但是对于预先存在的类,例如 String 类,这是无法做到的。例如。我试过做类似的事情:
String.createFrom(String s){return "new";}
但它不起作用(Android Studio 甚至不让我编译。)。
这是可能的,如果是的话,我怎么能在 Dart 中做到这一点?如果我创建了它,我将如何访问我从中调用方法的对象?(示例中的字符串)
解决方案
截至 2020 年 1 月,Dart 2.7 正式引入了扩展方法。要扩展一个类,可以这样做:
extension NewExtension on double {
int get myMethod {
return (1/this*10).toInt();
}
}
推荐阅读
- image - sRGB与Linear RGB之间转换的准确性以及仅显示图像的亮度分量
- python - Pyglet 着色器不工作,不断出错
- python - 如何在 sphinx 中添加 html 标签?
- swift - 将日期数据从 Picker 传递到 Swift 中的另一个视图控制器
- javascript - 面向对象编程的价值随条件而变化
- javascript - 如何使用 Google Apps 脚本访问外部电子表格中的数据
- c# - 将对象从屏幕的一侧移动到对面的 Unity C#
- spring - ff4j客户端如何使用ff4j服务器(spring mvc)暴露的其余api?
- javascript - 为什么我们必须在路由参数 "/:userQuery" 中使用冒号 (:)
- python - 随机数生成器 C++ 和 Python