Extension Methods 属于Dart高级用法。含义也非常容易理解,就是字面意思-拓展方法,用于给无法或不想直接修改的类或库拓展自己想要函数。
1 环境配置
Dart SDK的版本必须高于2.7.0
Flutter SDK版本最低要1.12.13
同时需要在pubspec.yaml同级创建analysis_options.yaml文件,里面配置:
analyzer:
enable-experiment:
- extension-methods
2 用法
extension <extension_name> on <type> {
(<member_definition>)*
}
示例用String扩展一个打印方法
extension StringEx on String{
printMyself(){
print("printMyself---" + this);
}
}
void _incrementCounter() {
setState(() {
_counter++;
// 这个title的类型是StringEx
widget.title.printMyself();
});