invalid_extension_argument_count 진단: 확장 오버라이드의 인자 개수가 맞지 않을 때
invalid_extension_argument_count 진단: 확장 오버라이드의 인자 개수가 맞지 않을 때
Dart 분석기가 내보내는 진단에는 이름이 있어요. invalid_extension_argument_count는 확장(extension) 오버라이드에 인자가 정확히 하나 들어오지 않을 때 분석기가 알려주는 컴파일 타임 진단이에요. 확장 오버라이드는 확장 메서드 안의 this 값을 계산할 표현식 하나, 정확히 한 개의 인자를 가져야 해요.
본문
설명
확장 오버라이드(extension override)가 정확히 한 개의 인자를 갖지 않을 때 분석기는 이 진단을 만들어요. 그 인자는 확장 메서드 안에서 this의 값으로 쓸 표현식이므로 반드시 한 개여야 해요.
예시
아래 코드는 인자가 하나도 없기 때문에 이 진단이 나와요.
extension E on String {
String join(String other) => '$this $other';
}
void f() {
E().join('b');
}
그리고 아래 코드는 인자가 두 개 이상이기 때문에 이 진단이 나와요.
extension E on String {
String join(String other) => '$this $other';
}
void f() {
E('a', 'b').join('c');
}
흔한 해결 방법
확장 오버라이드에 인자를 정확히 한 개 제공하면 돼요.
extension E on String {
String join(String other) => '$this $other';
}
void f() {
E('a').join('b');
}