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

如何正确访问Dart嵌套静态类的属性解决调用报错问题

问题原因

你代码中_TextStyles类内部的boxName等属性被定义为静态成员,静态成员归属于类本身,只能通过_TextStyles.boxName的格式调用,无法通过类的实例访问。而你在OverviewTheme中声明的text是_TextStyles的实例对象,因此用OverviewTheme.text.boxName调用自然会抛出未定义错误。

正确实现方案

将_TextStyles内部的属性改为实例常量即可满足你的链式调用需求,修改后代码如下:

class OverviewTheme {
  static const Color secondaryColor = Color(0xFFFFFF00);
  static const Color primaryColor = Color(0xFFFFFFFF);
  static const Color backgroundColor = Color(0xFF555555);
  static const _TextStyles text = _TextStyles();
}

class _TextStyles {
  const _TextStyles();
  // 移除static修饰,改为实例const属性
  final TextStyle boxName = const TextStyle(fontSize: 11, fontWeight: FontWeight.bold);
  final TextStyle boxDescription = const TextStyle(fontSize: 10);
  final TextStyle boxNumber = const TextStyle(fontSize: 10, fontStyle: FontStyle.italic);
}

修改完成后即可直接通过OverviewTheme.text.boxName的格式访问对应样式属性。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:57:04