Dart:如何实现类似"when hashcode() is overridden, ==() should also be overridden"的情况?

Dart: How to implement a similar situation like "when hashcode() is overridden, ==() should also be overridden"?

当 hashCode() 或 == 运算符在 class 中被覆盖时,dart 分析器会发出警告,说另一个方法也应该被覆盖。

我可以在其他方法上实现类似的情况吗?还是这个功能是Dart Analyzer提供的特例?

例如,

class A {
  void method1() {}

  void method2() {}
}

class B extends A {
  @override
  void method1() {}
}

此时我想发出一个警告,即 class B 也应该覆盖 method2()。这可能吗?

您看到的是 linter 规则。 dart 分析器实现了其中的一堆,您可以查看 here or check out just that specific rule
虽然你可以 customize static analysis for your project, as far as I can tell support for custom linting rules is still not available(还)。