跳到主要内容

prefix_shadowed_by_local_declaration

前缀 '{0}' 不能在此处使用,因为它被局部声明遮蔽了。

描述

#

当导入前缀在一个因被局部声明遮蔽而不可见的上下文中使用时,分析器会产生此诊断。

示例

#

以下代码产生此诊断,因为前缀 a 被用于访问类 Future,但由于被参数 a 遮蔽而不可见

dart
import 'dart:async' as a;

a.Future? f(int a) {
  a.Future? x;
  return x;
}

常见修复方法

#

重命名前缀

dart
import 'dart:async' as p;

p.Future? f(int a) {
  p.Future? x;
  return x;
}

或重命名局部变量

dart
import 'dart:async' as a;

a.Future? f(int p) {
  a.Future? x;
  return x;
}