avoid_types_as_parameter_names
参数名称“{0}”与可见的类型名称匹配。
类型参数名称“{0}”与可见的类型名称匹配。
描述
#当参数列表中参数的名称与可见类型(在作用域内的类型名称)相同时,分析器会生成此诊断信息。
这通常表示参数的预期名称缺失,导致将类型名称用作参数名称而非参数类型。即使并非如此(参数名称是有意的),参数名称也会遮蔽现有类型,这可能导致难以诊断的错误。
当类型参数列表中类型参数的名称与在作用域内的类型名称相同时,分析器也会生成此诊断信息。建议重新命名类型参数,以避免容易出错的遮蔽。
示例
#以下代码会生成此诊断信息,因为函数 f
有一个名为 int
的参数,它遮蔽了 dart:core
中的类型 int
。
dart
void f(int) {}
常见修复
#如果参数名称缺失,则为参数添加一个名称。
dart
void f(int x) {}
如果参数的预期是隐式类型为 dynamic
,则重命名参数,使其不遮蔽任何可见类型的名称。
dart
void f(int_) {}