type_test_with_undefined_name: 정의되지 않은 이름을 'is' 표현식에 쓰지 말아요

type_test_with_undefined_name: 정의되지 않은 이름을 'is' 표현식에 쓰지 말아요

분석기가 내보내는 진단에는 이름이 있어요. type_test_with_undefined_name타입 검사 표현식에서 is 다음에 오는 이름이 정의되지 않았을 때 알려주는 진단이에요. 원문의 요지는 "이름 '{0}'이 정의되지 않아서 'is' 표현식에 쓸 수 없다"는 내용이에요.

출처: type_test_with_undefined_name

본문

설명

분석기는 타입 검사 표현식에서 is 다음에 오는 이름이 정의되지 않았을 때 이 진단을 만들어요. 이름이 존재하지 않으니, 타입 검사를 제대로 할 수 없죠.

예시

다음 코드는 이름 Srting이 정의되어 있지 않아서 이 진단을 만들어요. (오타로 String 대신 Srting이라고 썼네요.)

void f(Object o) {
  if (o is Srting) {
    // ...
  }
}

흔한 해결 방법

이름을 타입의 이름으로 바꿔요.

void f(Object o) {
  if (o is String) {
    // ...
  }
}

더 알아보기