extension_override_access_to_static_member 진단: 확장 오버라이드로 정적 멤버에 접근할 수 없어요
extension_override_access_to_static_member 진단: 확장 오버라이드로 정적 멤버에 접근할 수 없어요
Dart 분석기가 내보내는 진단에는 이름이 있어요. extension_override_access_to_static_member는 확장 오버라이드(extension override)로 확장의 정적(static) 멤버에 접근하려 할 때 분석기가 알려주는 컴파일 타임 진단이에요. 확장의 정적 멤버는 확장의 이름으로 접근해야 해요.
본문
설명
분석기는 확장 오버라이드가 정적 멤버를 호출하는 수신자(receiver)로 사용될 때 이 진단을 내보내요. 클래스의 정적 멤버와 마찬가지로, 확장의 정적 멤버는 확장 오버라이드가 아니라 확장의 이름을 사용해 접근해야 해요.
예시
다음 코드는 m이 정적 멤버이기 때문에 이 진단이 나와요.
extension E on String {
static void m() {}
}
void f() {
E('').m();
}
흔한 해결 방법
확장 오버라이드를 확장의 이름으로 바꿔요.
extension E on String {
static void m() {}
}
void f() {
E.m();
}