new_with_undefined_constructor_default 진단: 이름 없는 생성자가 없는 클래스예요

new_with_undefined_constructor_default 진단: 이름 없는 생성자가 없는 클래스예요

이름 없는(unnamed) 생성자가 없는 클래스를 A()처럼 호출했을 때 Dart 분석기가 알려주는 new_with_undefined_constructor_default 진단에 대한 설명이에요. 클래스에 이름 있는 생성자만 정의되어 있는데 이름 없는 생성자를 호출하면 이 진단이 나타나요.

출처: new_with_undefined_constructor_default

본문

설명

이름 있는(named) 생성자는 정의되어 있지만 이름 없는 생성자는 없는 클래스에서 이름 없는 생성자를 호출할 때 분석기가 이 진단을 만들어요.

예시

다음 코드는 A가 이름 없는 생성자를 정의하지 않았기 때문에 이 진단을 만들어요.

class A {
  A.a();
}

A f() => A();

흔한 해결 방법

이름 있는 생성자 중 하나가 원하는 동작을 한다면, 그 생성자를 사용해요.

class A {
  A.a();
}

A f() => A.a();

이름 있는 생성자 중 원하는 것이 없다면, 이름 없는 생성자를 추가할 수 있을 때 그 생성자를 추가해요.

class A {
  A();
  A.a();
}

A f() => A();

더 알아보기