跳到主要内容

diagnostic_describe_all_properties

公共属性未在 'debugFillProperties' 或 'debugDescribeChildren' 中描述。

描述

#

当实现 Diagnosticable 的类具有公共属性,但该属性未作为属性添加到 debugFillPropertiesdebugDescribeChildren 方法中时,分析器会产生此诊断。

示例

#

以下代码产生此诊断,因为属性 p2 未添加到 debugFillProperties 方法中

dart
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

class C extends Widget {
  bool get p1 => true;

  bool get p2 => false;

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties.add(DiagnosticsProperty<bool>('p1', p1));
  }
}

常见修复方法

#

如果未重写 debugFillPropertiesdebugDescribeChildren 方法,则添加一个。

debugFillPropertiesdebugDescribeChildren 方法中添加属性描述

dart
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

class C extends Widget {
  bool get p1 => true;

  bool get p2 => false;

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties.add(DiagnosticsProperty<bool>('p1', p1));
    properties.add(DiagnosticsProperty<bool>('p2', p2));
  }
}