flutter 扩展类extension...on...

本是古典 何须时尚 2021-07-24 17:36 740阅读 0赞
  1. 为指定类扩展额外的方法
  2. 1Flutter项目根目录创建一个analysis_options.yaml文件,然后添加以下内容到文件中。(若无法运行)
  3. analyzer:
  4. enable-experiment:
  5. - extension-methods
  6. 2、创建.dart文件
  7. extension 自定义名称 on 指定类{ 可以是第三方库的类
  8. 自定义方法等,通过this获取类本身的方法
  9. }
  10. 3、使用
  11. 导入该文件
  12. 实例对象.扩展的方法

代码示例:

  1. extension ParseNumbers on String {
  2. int parseInt() {
  3. return int.parse(this);
  4. }
  5. double parseDouble() {
  6. return double.parse(this);
  7. }
  8. }
  9. 使用:
  10. final d = '2';
  11. print(d.parseInt());

代码示例:

  1. import 'dart:convert';
  2. import 'package:shared_preferences/shared_preferences.dart';
  3. extension SharedPreferencesExtension on SharedPreferences {
  4. Future<bool> setJson(String key, Map<String, dynamic> json) {
  5. assert(json != null);
  6. assert(key != null);
  7. var value = jsonEncode(json);
  8. return this.setString(key, value);
  9. }
  10. Map<String, dynamic> getJson(String key) {
  11. assert(key != null);
  12. var value = this.getString(key);
  13. var json = jsonDecode(value);
  14. return json;
  15. }
  16. }

发表评论

表情:
评论列表 (有 0 条评论,740人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ios扩展

    在.m文件中为类增加私有的成员变量(属性)和方法。 在左侧栏目文件夹处右键-New File-Objective-C File-File Type选extension-Cla

    相关 试题扩展设计

    试题扩展类设计 为什么会做这件事情? 1,很多时候,我们自己是无法预测后面可能面临的问题。既然是自己遇见了这样的问题,理应把它解决好。 2,