private 이름 있는 매개변수의 공개 이름이 중복

private 이름 있는 매개변수의 공개 이름이 중복 (private_named_parameter_duplicate_public_name)

이 문서는 Dart 분석기(analyzer)가 만들어 내는 private_named_parameter_duplicate_public_name 진단(diagnostic)에 대한 상세한 내용을 설명하는 문서예요. private 이름 있는 매개변수(밑줄로 시작하는, _)의 공개 이름이 같은 매개변수 목록 안에서 기존 매개변수 이름과 충돌할 때 분석기가 이 진단을 알려 줘요. 어떤 상황에서 발생하고 어떻게 고치는지 함께 알아볼게요.

출처: private_named_parameter_duplicate_public_name

본문

진단 메시지

The corresponding public name '{0}' is already the name of another parameter.

그에 대응하는 공개 이름 '{0}'은(는) 이미 다른 매개변수의 이름이에요.

설명

분석기는 private 이름 있는 매개변수(밑줄로 시작하는, _)가, 같은 매개변수 목록 안에서 기존 매개변수 이름과 충돌하는 공개 이름을 가질 때 이 진단을 만들어 내요.

예시

다음 코드는 private 이름 있는 매개변수 _x의 공개 이름이 x인데, 이 x가 이미 존재하는 매개변수의 이름 x와 충돌하기 때문에 이 진단을 만들어 내요.

class C {
  final int? _x;
  C({int? x, this._x});
  int? get x => _x;
}

일반적인 해결 방법

두 매개변수 중 하나의 이름을 바꿔 주세요.

더 알아보기