extension_declares_constructor 진단: 확장에서 생성자를 선언할 수 없어요
extension_declares_constructor 진단: 확장에서 생성자를 선언할 수 없어요
Dart 분석기가 내보내는 진단에는 이름이 있어요. extension_declares_constructor는 확장(extension) 안에서 생성자(constructor)를 선언하려 할 때 분석기가 알려주는 컴파일 타임 진단이에요. 확장은 클래스가 아니라서 생성자를 정의할 수 없고, 확장의 인스턴스를 만들 수도 없어요.
본문
설명
분석기는 확장 안에서 생성자 선언을 발견하면 이 진단을 내보내요. 확장은 클래스가 아니고 확장의 인스턴스를 만들 수도 없기 때문에 생성자를 정의하는 건 유효하지 않아요.
예시
다음 코드는 확장 E 안에 생성자 선언이 있기 때문에 이 진단이 나와요.
extension E on String {
E() : super();
}
흔한 해결 방법
생성자를 제거하거나 정적(static) 메서드로 바꿔요.