extension_declares_member_of_object 진단: Object가 선언한 멤버와 같은 이름을 확장에 선언할 수 없어요
extension_declares_member_of_object 진단: Object가 선언한 멤버와 같은 이름을 확장에 선언할 수 없어요
Dart 분석기가 내보내는 진단에는 이름이 있어요. extension_declares_member_of_object는 확장(extension)이 Object 클래스가 선언한 멤버와 이름이 같은 멤버를 선언할 때 분석기가 알려주는 컴파일 타임 진단이에요. 그런 멤버는 결코 사용될 수 없어요.
본문
설명
분석기는 확장 선언이 Object 클래스에 이미 선언된 멤버와 이름이 같은 멤버를 선언할 때 이 진단을 내보내요. Object의 멤버가 항상 먼저 발견되기 때문에 그런 멤버는 결코 사용될 수 없어요.
예시
다음 코드는 toString이 Object에 정의되어 있기 때문에 이 진단이 나와요.
extension E on String {
String toString() => this;
}
흔한 해결 방법
멤버를 제거하거나, Object의 멤버와 이름이 충돌하지 않도록 이름을 바꿔요.
extension E on String {
String displayString() => this;
}