跳至主要内容

avoid_shadowing_type_parameters

类型参数 '{0}' 隐藏了其外部 {1} 中的类型参数。

描述

#

当类型参数隐藏了来自封闭声明的类型参数时,分析器会产生此诊断。

类型参数隐藏可能会导致细微且难以调试的 bug。

示例

#

以下代码会产生此诊断,因为方法 m 定义的类型参数 T 隐藏了类 C 定义的类型参数 T

dart
class C<T> {
  void m<T>() {}
}

常见修复方法

#

重命名其中一个类型参数

dart
class C<T> {
  void m<S>() {}
}