field_initializer_factory_constructor 진단: factory 생성자에서는 초기화 형식 매개변수를 못 써요
field_initializer_factory_constructor 진단: factory 생성자에서는 초기화 형식 매개변수를 못 써요
Dart 분석기가 내보내는 진단에는 이름이 있어요. field_initializer_factory_constructor는 factory 생성자가 초기화 형식 매개변수(initializing formal parameter)를 가질 때 분석기가 알려주는 진단이에요.
본문
설명
factory 생성자에 초기화 형식 매개변수가 있으면 이 진단이 나와요. factory 생성자는 실제 인스턴스를 만들지 않기 때문에 필드에 값을 할당할 수 없어요. 할당할 필드 자체가 존재하지 않기 때문이에요.
예시
다음 코드는 factory 생성자가 초기화 형식 매개변수를 쓰고 있어서 이 진단이 나와요.
class C {
int? f;
factory C(this.f) => throw 0;
}
흔한 해결 방법
초기화 형식 매개변수를 일반 매개변수로 바꿔요.
class C {
int? f;
factory C(int f) => throw 0;
}