field_initializer_factory_constructor 진단: factory 생성자에서는 초기화 형식 매개변수를 못 써요

field_initializer_factory_constructor 진단: factory 생성자에서는 초기화 형식 매개변수를 못 써요

Dart 분석기가 내보내는 진단에는 이름이 있어요. field_initializer_factory_constructorfactory 생성자가 초기화 형식 매개변수(initializing formal parameter)를 가질 때 분석기가 알려주는 진단이에요.

출처: field_initializer_factory_constructor

본문

설명

factory 생성자에 초기화 형식 매개변수가 있으면 이 진단이 나와요. factory 생성자는 실제 인스턴스를 만들지 않기 때문에 필드에 값을 할당할 수 없어요. 할당할 필드 자체가 존재하지 않기 때문이에요.

예시

다음 코드는 factory 생성자가 초기화 형식 매개변수를 쓰고 있어서 이 진단이 나와요.

class C {
  int? f;
  factory C(this.f) => throw 0;
}

흔한 해결 방법

초기화 형식 매개변수를 일반 매개변수로 바꿔요.

class C {
  int? f;
  factory C(int f) => throw 0;
}

더 알아보기