다음을 통해 공유


Option Strict 문

업데이트: 2008년 7월

암시적 데이터 형식 변환을 확대 변환으로 제한합니다.

Option Strict { On | Off }

구성 요소

  • On
    선택적 요소입니다. Option Strict 검사를 사용합니다.

  • Off
    선택적 요소입니다. Option Strict 검사를 사용하지 않습니다. On 또는 Off가 지정되지 않은 경우 기본값은 Off입니다.

설명

사용되는 경우 Option Strict 문은 파일에서 다른 소스 코드 문 앞에 사용해야 합니다.

Visual Basic에서는 많은 데이터 형식을 다른 데이터 형식으로 변환할 수 있습니다. 특정 데이터 형식의 값을 정밀도가 낮거나 용량이 적은 데이터 형식으로 변환하면 데이터가 손실될 수 있습니다. 그러한 축소 변환이 실패하는 경우 런타임 오류가 발생합니다. Option Strict 문을 사용하면 이러한 문제를 방지할 수 있도록 컴파일 타임에 축소 변환에 대한 알림이 생성됩니다.

참고:

For Each¡¦Next 컬렉션의 요소에서 루프 제어 변수로의 변환에 대한 축소 변환 오류는 표시되지 않습니다. 자세한 내용 및 예제는 For Each...Next 문(Visual Basic)의 "축소 변환" 단원을 참조하십시오.

Option Strict 문을 사용하면 암시적 축소 변환을 사용할 수 없을 뿐만 아니라 런타임에 바인딩할 경우 오류가 발생합니다. 개체가 Object 형식으로 선언된 변수에 할당되면 런타임에 바인딩됩니다.

Option Strict On 문은 강력한 형식 지정을 제공하고 데이터가 손실될 수 있는 원하지 않은 형식 변환을 방지하며 런타임에 바인딩을 사용할 수 없게 하고 성능을 향상시키므로 사용하는 것이 좋습니다.

참고:

코드에서 Option Strict를 지정하지 않는 경우 컴파일러 기본값은 Option Strict Off입니다.

Visual Studio IDE(통합 개발 환경) 또는 명령줄에서 Option Strict를 설정할 수도 있습니다.

참고:

표시되는 대화 상자와 메뉴 명령은 실제 설정이나 버전에 따라 도움말에서 설명하는 것과 다를 수 있습니다. 설정을 변경하려면 도구 메뉴에서 설정 가져오기 및 내보내기를 클릭합니다. 자세한 내용은 Visual Studio 설정을 참조하십시오.

IDE에서 Option Strict를 설정하려면

  1. 도구 메뉴에서 옵션을 클릭합니다.

  2. 프로젝트 및 솔루션 노드를 엽니다.

  3. VB 기본값을 선택합니다.

  4. Option Strict 설정을 수정합니다.

명령줄에서 Option Strict를 설정하려면

  • vbc 명령에 /optionstrict 컴파일러 옵션을 포함합니다.

예제

다음 예제에서는 Option Strict 문이 런타임에 바인딩 및 데이터 손실 가능성이 있는 변환을 허용하지 않는 방법을 보여 줍니다.

Option Strict On
Dim thisVar As Integer
Dim thisObj As Object = New widget
thisVar = 1000   ' Declared variable does not generate error.
' Attempting to convert Double to Integer generates a COMPILER ERROR.
thisVar = 1234567890.9876542 ' causes ERROR
' Late-bound call generates a COMPILER ERROR.
Call thisObj.Method1() ' causes ERROR

참고 항목

개념

확대 변환과 축소 변환

참조

Option Compare 문

Option Explicit 문(Visual Basic)

/optioncompare

/optionexplicit

/optionstrict

옵션 대화 상자, 프로젝트, VB 기본값

변경 기록

날짜

변경 내용

이유

2008년 7월

축소 변환 및 For Each¡¦Next에 대한 참고 사항이 추가되었습니다.

고객 의견