형식 검사 스위치(Option Strict Statement)On가 설정된 동안 형식을 값을 포함 LongInteger할 수 없는 다른 형식으로 변환하려고 했습니다.
이러한 유형의 변환을 축소 변환이라고 하며 런타임에 실패할 수 있습니다. 이러한 이유로 Option Strict On 암시적 축소 변환을 허용하지 않습니다.
오류 ID: BC30512
이 오류를 해결하려면
형식의 변환이 .로
<type1><type2>의 변환인지 여부를 확인합니다. 둘 다 Visual Basic 기본 형식이거나 둘 다 클래스의 인스턴스인 경우 일반적으로 확대 및 축소 변환의 표를 참조하여 이 결정을 내릴 수 있습니다.축소 변환만 있는
<type1>경우 명시적 캐스팅을<type2>사용해야 합니다. CType 함수 및 DirectCast 연산자 키워드는 변환이 실패할 경우 런타임 예외를 throw합니다. TryCast 연산자 키워드는 참조 형식에만 적용되며 변환에 실패하면 Nothing을 반환합니다.축소 변환이 존재하고 프로그램이 런타임 오류를 허용할 수 있거나 런타임 실패가 가능하지 않다고 확신하는 경우 소스 코드의 시작 부분에서 지정할
Option Strict Off수 있습니다. 그러나 여전히 시도에서 변환을 묶어야 합니다... 잡기... 마지막으로 예기치 않은 결과 또는 프로그램의 조기 종료를 방지하기 위한 문 블록입니다.변환이
<type1><type2>없는 경우 프로그램 논리를 다시 평가해야 합니다. 예상<type1>값에 해당하는 값을 할당할<type2>수 있는 코드를 작성할 수 있습니다.변환이 존재하지
<type1><type2>않고 형식 중 하나가 정의한 클래스 또는 구조체인 경우 해당 형식에서 다른 형식으로 또는 다른 형식으로 변환 연산자를 정의할 수 있습니다. 자세한 내용은 방법: 변환 연산자 정의를 참조하세요.모든 경우 및 일반적인 지침에서는 블록에서
Catch오류를 트래핑하고 효과적으로 처리할 수 없다면 축소 변환을 사용하지 않아야 합니다.
참고하십시오
.NET