인스턴스 변수를 가리키지 않는 private 이름 있는 매개변수
인스턴스 변수를 가리키지 않는 private 이름 있는 매개변수 (private_named_non_field_parameter)
이 문서는 Dart 분석기(analyzer)가 만들어 내는 private_named_non_field_parameter 진단(diagnostic)에 대한 상세한 내용을 설명하는 문서예요. 이름 있는 매개변수(named parameter)가 인스턴스 변수를 가리키지 않는데 밑줄(underscore)로 시작할 때 분석기가 이 진단을 알려 줘요. 어떤 상황에서 발생하고 어떻게 고치는지 함께 알아볼게요.
본문
진단 메시지
Named parameters that don't refer to instance variables can't start with underscore.
인스턴스 변수를 가리키지 않는 이름 있는 매개변수는 밑줄로 시작할 수 없어요.
설명
분석기는 이름 있는 매개변수가 밑줄로 시작할 때, 초기화 형식 매개변수(initializing formal)나 필드 매개변수(field parameter)가 아닌 경우에 이 진단을 만들어 내요.
예시
다음 코드는 이름 있는 매개변수 _x가 밑줄로 시작하기 때문에 이 진단을 만들어 내요.
class C {
C({int _x = 0});
}
일반적인 해결 방법
해당 매개변수가 필드를 가리키려는 의도라면, 빠진 필드를 추가해 주세요.
class C {
final int _x;
C({this._x = 0});
int get x => _x;
}
해당 매개변수가 필드를 가리키려는 의도가 아니라면, 밑줄을 제거해 주세요.
class C {
C({int x = 0});
}
더 알아보기
- Dart 분석기 진단 목록에서 다른 진단들도 함께 살펴보세요.
- Dart의 생성자와 초기화 형식 매개변수에 대한 더 자세한 내용은 Dart 언어 투어 (Language tour)의 생성자(Constructors) 부분을 참고해요.