dot_shorthand_undefined_member 진단: 컨텍스트 타입에 그 멤버가 없어요

dot_shorthand_undefined_member 진단: 컨텍스트 타입에 그 멤버가 없어요

Dart 분석기가 내보내는 진단에는 이름이 있어요. dot_shorthand_undefined_memberdot shorthand로 어떤 멤버를 참조했는데 그 멤버가 존재하지 않을 때 분석기가 알려주는 컴파일 타임 진단이에요. 이름이 맞는지, 컨텍스트 타입에 정말 그 멤버가 정의돼 있는지 확인해 주세요.

출처: dot_shorthand_undefined_member

본문

설명

분석기는 dot shorthand를 사용해 멤버를 참조했는데 그 멤버가 존재하지 않을 때 이 진단을 만들어요.

예시

다음 코드는 열거형(enum) Ec라는 정적 멤버가 정의돼 있지 않기 때문에 이 진단이 나와요.

void f() {
  E e = .c;
  print(e);
}

enum E { a, b }

흔한 해결 방법

이름이 올바르다면, 컨텍스트 타입(여기서는 열거형 E)에 그 이름을 가진 멤버를 정의해 주세요.

void f() {
  E e = .c;
  print(e);
}

enum E { a, b, c }

이름이 올바르지 않다면, 컨텍스트 타입(여기서는 열거형 E)에 이미 존재하는 멤버 이름으로 바꿔 주세요.

void f() {
  E e = .b;
  print(e);
}

enum E { a, b }

더 알아보기