type_test_with_undefined_name: 정의되지 않은 이름을 'is' 표현식에 쓰지 말아요
type_test_with_undefined_name: 정의되지 않은 이름을 'is' 표현식에 쓰지 말아요
분석기가 내보내는 진단에는 이름이 있어요. type_test_with_undefined_name는 타입 검사 표현식에서 is 다음에 오는 이름이 정의되지 않았을 때 알려주는 진단이에요. 원문의 요지는 "이름 '{0}'이 정의되지 않아서 'is' 표현식에 쓸 수 없다"는 내용이에요.
본문
설명
분석기는 타입 검사 표현식에서 is 다음에 오는 이름이 정의되지 않았을 때 이 진단을 만들어요. 이름이 존재하지 않으니, 타입 검사를 제대로 할 수 없죠.
예시
다음 코드는 이름 Srting이 정의되어 있지 않아서 이 진단을 만들어요. (오타로 String 대신 Srting이라고 썼네요.)
void f(Object o) {
if (o is Srting) {
// ...
}
}
흔한 해결 방법
이름을 타입의 이름으로 바꿔요.
void f(Object o) {
if (o is String) {
// ...
}
}