跳到主要内容

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_) {}