You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dart中为bool类型创建reverse方法?遇定义无效问题求助

解决Dart中为bool类型添加reverse方法的问题

直接修改Dart SDK自带的bool.dart文件是行不通的——项目运行时依赖的是官方预编译好的核心库,本地修改的源码不会被加载到运行环境中,所以你添加的方法根本不会被识别。

正确的做法是使用Dart的扩展方法(Extension),这是官方推荐的给已有类型新增方法的方式,不用碰SDK源码,还能在任何项目里复用:

  1. 定义扩展方法
    在项目里新建一个dart文件(比如bool_extension.dart),写入以下代码:
extension BoolExtension on bool {
  // 用!this实现反转,比三元表达式更简洁
  bool reverse() {
    return !this;
  }
}
  1. 使用扩展方法
    在需要调用reverse()的文件里导入这个扩展:
import 'path/to/bool_extension.dart';

// 之后就能直接调用方法了
_isLoading = _isLoading.reverse();

这样就能正常实现布尔值反转的功能,完全没有兼容性问题。

内容的提问来源于stack exchange,提问作者808code

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 04:09:17