INFO: Visual Basic .NET의 Option Explicit 및 Option Strict

기술 자료 번역 기술 자료 번역
기술 자료: 311329 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 두 가지 Option 문에 대해 설명합니다.
  • Option Strict
  • Option Explicit
Option Strict는 Visual Basic .NET의 새 기능이며 Option Explicit는 이전 버전의 Microsoft Visual Basic에서 사용할 수 있습니다.

본 문서는 다음과 같은 절로 구성됩니다.

추가 정보

Option Explicit 문

기본적으로 Visual Basic .NET 컴파일러는 명시적 변수 선언을 사용하므로 모든 변수를 사용하기 전에 선언해야 합니다. 기본 동작을 변경하려면 기본 프로젝트 값 변경 절을 참조하십시오.

Option Strict 문

기본적으로 Visual Basic .NET 컴파일러는 암시적 데이터 형식을 시행하지 않습니다. 기본 동작을 변경하려면 기본 프로젝트 값 변경 절을 참조하십시오.

Option Strict는 암시적 데이터 형식 변환을 확장 변환으로 제한합니다. 확장 변환은 데이터 손실이 발생할 수 있는 데이터 형식 변환 및 숫자 형식과 문자열 간의 변환을 명시적으로 허용하지 않습니다. 확장 변환에 대한 자세한 내용은 확장 변환 절을 참조하십시오.

Option Strict 문을 사용하면 문은 다른 코드 앞에 나타나야 합니다. Visual Basic .NET에서는 대개 모든 데이터 형식을 암시적으로 다른 데이터 형식으로 변환할 수 있습니다. 한 데이터 형식의 값을 정밀도가 낮거나 작은 용량의 데이터 형식으로 변환하면 데이터 손실이 발생할 수 있습니다. 그러나 이러한 변환에서 데이터가 손실되는 경우 런타임 오류 메시지가 나타납니다. Option Strict는 오류를 피할 수 있도록 컴파일할 때 이러한 변환 유형을 미리 알려줍니다.

Option Strict는 또한 다음 시나리오에서 오류 메시지를 생성합니다.
  • 선언되지 않은 변수의 경우 오류 메시지가 생성됩니다. 그 이유는 Option StrictOption Explicit도 암시하기 때문입니다.
  • 후기 바인딩의 경우 오류 메시지가 생성됩니다.

확대 변환

다음 표는 표준 확대 변환을 나열합니다.

표 축소표 확대
데이터 형식확장되는 데이터 형식
ByteByte, Short, Integer, Long, Decimal, Single, Double
ShortShort, Integer, Long, Decimal, Single, Double
IntegerInteger, Long, Decimal, Single, Double
LongLong, Decimal, Single, Double
DecimalDecimal, Single, Double
SingleSingle, Double
DoubleDouble
열거되는 형식기본 정수 형식 및 확장될 형식
CharChar, String
모든 형식Object, 구현하는 모든 인터페이스
모든 파생 형식추출되는 모든 기본 형식
없음모든 데이터 형식 또는 개체 형식

다음 변환은 정밀도를 손실할 수 있습니다.
  • Integer에서 Single로 변환
  • Long에서 Single 또는 Double로 변환
  • Decimal에서 Single 또는 Double로 변환
그러나 이러한 변환으로 정보나 크기는 손실되지 않습니다.

확대 변환은 항상 성공하고 항상 확대 변환을 암시적으로 수행할 수 있습니다.

캐스팅을 사용한 명시적 변환

명시적 변환은 형식 변환 키워드를 사용합니다. Visual Basic .NET은 원하는 괄호 안의 식에 원하는 데이터 형식을 강제하는 이러한 키워드를 여러 개 제공합니다. 이러한 키워드는 함수로 동작하지만 컴파일러는 코드 인라인을 생성합니다. 따라서 함수 호출에 비해 명시적 변환이 약간 빨리 실행됩니다.

다음 표는 사용 가능한 변환 키워드를 표시합니다.
표 축소표 확대
형식 변환 키워드식을 데이터
형식으로 변환
변환할 식에 허용되는 데이터 형식
CBoolBoolean모든 숫자 형식(Byte 및 열거 형식 포함), String, Object
CByteByte모든 숫자 형식, 모든 열거 형식, Boolean, String, Object
CCharCharString, Object
CDateDateString, Object
CDblDouble모든 숫자 형식(Byte 및 열거 형식 포함), Boolean, String, Object
CDecDecimal모든 숫자 형식(Byte 및 열거 형식 포함), Boolean, String, Object
CIntInteger모든 숫자 형식(Byte 및 열거 형식 포함), Boolean, String, Object
CLngLong모든 숫자 형식(Byte 및 열거 형식 포함), Boolean, String, Object
CObjObject모든 형식
CShortShort모든 숫자 형식(Byte 및 열거 형식 포함), Boolean, String, Object
CSngSingle모든 숫자 형식(Byte 및 열거 형식 포함), Boolean, String, Object
CStrString모든 숫자 형식(Byte 포함), Boolean, Char, Char array, Date, Object
CType쉼표(,) 다음에 지정된 형식기본 형식(기본 형식의 배열 포함)으로 변환하면 해당하는 변환 키워드에 허용되는 것과 같은 형식

복합 형식으로 변환하면 구현하는 인터페이스 및 상속하는 클래스

기본 프로젝트 값 변경

프로젝트 형식을 기반으로 Option ExplicitOption Strict의 기본값을 변경할 수 있습니다. 예를 들어, 새로운 Visual Basic .NET 응용 프로그램을 만들면 Option Explicit의 값이 On으로 설정됩니다. 이 기본값을 Off로 변경할 수 있습니다.

Option ExplicitOption Strict의 기본값을 변경하려면 다음 단계를 수행하십시오.
  1. 시스템에서 다음 프로젝트 템플릿 파일을 찾습니다.
    • EmptyProjectIPF.vbproj
    • EmptyWebProjectIPF.vbproj
    • WebApplication.vbproj
    • WebControl.vbproj
    • WebService.vbproj
    • WindowsApplication.vbproj
    • WindowsControl.vbproj
    • WindowsService.vbproj
  2. 메모장에서 프로젝트 템플릿을 엽니다.
  3. 템플릿의 <Settings> 섹션에 OptionStrictOptionExplicit 줄을 추가하거나 이미 있을 경우 편집합니다.

    예를 들어, 다음 코드는 OptionExplicitOff로, OptionStrictOn으로 설정하는 방법을 보여 줍니다.
    <VisualStudioProject>
        <VisualBasic>
            <Build>
                <Settings 
                    OutputType = "Exe" 
                    StartupObject = ""
                    OptionExplicit = "Off"
                    OptionStrict = "On"
                >
    						
  4. 기본 동작을 변경할 각 프로젝트 템플릿에 대해 2~3 단계를 반복합니다.




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 311329 - 마지막 검토: 2003년 9월 18일 목요일 - 수정: 2.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
키워드:?
kbinfo kbbug kbupgrade kbdebug kbcompiler kbideproject KB311329

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com