extension_declares_constructor 진단: 확장에서 생성자를 선언할 수 없어요

extension_declares_constructor 진단: 확장에서 생성자를 선언할 수 없어요

Dart 분석기가 내보내는 진단에는 이름이 있어요. extension_declares_constructor확장(extension) 안에서 생성자(constructor)를 선언하려 할 때 분석기가 알려주는 컴파일 타임 진단이에요. 확장은 클래스가 아니라서 생성자를 정의할 수 없고, 확장의 인스턴스를 만들 수도 없어요.

출처: extension_declares_constructor

본문

설명

분석기는 확장 안에서 생성자 선언을 발견하면 이 진단을 내보내요. 확장은 클래스가 아니고 확장의 인스턴스를 만들 수도 없기 때문에 생성자를 정의하는 건 유효하지 않아요.

예시

다음 코드는 확장 E 안에 생성자 선언이 있기 때문에 이 진단이 나와요.

extension E on String {
  E() : super();
}

흔한 해결 방법

생성자를 제거하거나 정적(static) 메서드로 바꿔요.

더 알아보기