Instrukcje Option Explicit i Option Strict w programach Visual Basic .NET lub Visual Basic 2005

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 311329 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

W tym artykule są opisane dwie instrukcje Option:
  • Option Strict
  • Option Explicit
Instrukcja Option Strict jest nowym elementem programu Visual Basic .NET lub Visual Basic 2005, a instrukcja Option Explicit jest dostępna w poprzednich wersjach programu Microsoft Visual Basic.

Więcej informacji

Instrukcja Option Explicit

Kompilator Visual Basic .NET lub Visual Basic 2005 domyślnie wymusza jawne deklaracje zmiennych, co wymaga od programisty zadeklarowania każdej zmiennej przed jej użyciem. Aby zmienić to domyślne zachowanie, zajrzyj do sekcji: Zmiana domyślnych wartości projektu

Instrukcja Option Strict

Kompilator Visual Basic .NET lub Visual Basic 2005 nie wymusza domyślnie ścisłego określania typu danych. Aby zmienić to domyślne zachowanie, zobacz sekcję Zmiana domyślnych wartości projektu.

Instrukcja Option Strict ogranicza niejawne konwersje typów danych wyłącznie do konwersji rozszerzających. Konwersje rozszerzające jawnie wykluczają wszelkie konwersje typów danych, w których może nastąpić utrata informacji oraz wszelkie konwersje między ciągami i typami liczbowymi. Aby uzyskać więcej informacji dotyczących konwersji, zobacz sekcję: Konwersje rozszerzające

Używana instrukcja Option Strict musi być zastosowana przed wszelkimi innymi instrukcjami kodu. W programie Visual Basic .NET zazwyczaj można niejawnie skonwertować dowolny typ danych na inny dowolny typ danych. Utrata informacji ma miejsce, gdy wartość jest konwertowana na typ danych o mniejszej precyzji lub pojemności. Jeśli jednak w wyniku konwersji miałaby nastąpić utrata informacji, pojawi się komunikat o błędzie czasu wykonania. Dzięki instrukcji Option Strict programista jest powiadamiany o konwersjach tego typu podczas kompilacji, dzięki czemu może uniknąć błędów.

Instrukcja Option Strict generuje także komunikat o błędzie w następujących sytuacjach:
  • Wykrycie dowolnej niezadeklarowanej zmiennej. Dzieje się tak, ponieważ użycie instrukcji Option Strict jest równoznaczne użyciu instrukcji Option Explicit.
  • Późne wiązanie.

Konwersje rozszerzające

W poniższej tabeli podano listę standardowych konwersji rozszerzających.

Zwiń tę tabelęRozwiń tę tabelę
Typ danychJest rozszerzany do typu
ByteByte, Short, Integer, Long, Decimal, Single, Double
ShortShort, Integer, Long, Decimal, Single, Double
IntegerInteger, Long, Decimal, Single, Double
LongLong, Decimal, Single, Double
DziesiętnaDecimal, Single, Double
SingleSingle, Double
Podwójna precyzjaPodwójna precyzja
Dowolny typ wyliczeniowyZwiązany z nim typ całkowity i każdy typ, do którego zostanie rozszerzony
CharChar, String
Dowolny typObject, każdy interfejs, który go implementuje
Dowolny typ pochodnyKażdy typ podstawowy, z którego został uzyskany
NicDowolny typ danych lub typ obiektowy

Następujące konwersje mogą doprowadzić do utraty precyzji:
  • Integer na Single
  • Long na Single lub Double
  • Decimal na Single lub Double
Te konwersje nie powodują jednak utraty informacji lub wielkości.

Konwersje rozszerzające są zawsze skuteczne i zawsze można je wykonywać niejawnie.

Jawne konwersje za pomocą rzutowania

Konwersja jawna wykorzystuje słowo kluczowe konwersji typu. Program Visual Basic .NET lub Visual Basic 2005 zawiera kilka słów kluczowych, które wymuszają użycie żądanego typu danych wyrażenia w nawiasach. Te słowa kluczowe zachowują się tak jak funkcje, kompilator generuje jednak kod wbudowany. Z tego powodu działanie jest trochę szybsze przy jawnych konwersjach niż przy wywołaniu funkcji.

W poniższej tabeli podano listę dostępnych słów kluczowych konwersji.
Zwiń tę tabelęRozwiń tę tabelę
Słowo kluczowe konwersji typuKonwertuje wyrażenie
do typu danych
Dozwolone typy danych konwertowanych wyrażeń
CBoolBooleanDowolny typ liczbowy (w tym Byte i typy wyliczeniowe), String, Object
CByteByteDowolny typ liczbowy, dowolny typ wyliczeniowy, Boolean, String, Object
CCharCharString, Object
CDateDataString, Object
CDblPodwójna precyzjaDowolny typ liczbowy (w tym Byte i typy wyliczeniowe), Boolean, String, Object
CDecDziesiętnaDowolny typ liczbowy (w tym Byte i typy wyliczeniowe), Boolean, String, Object
CIntIntegerDowolny typ liczbowy (w tym Byte i typy wyliczeniowe), Boolean, String, Object
CLngLongDowolny typ liczbowy (w tym Byte i typy wyliczeniowe), Boolean, String, Object
CObjObjectDowolny typ
CShortShortDowolny typ liczbowy (w tym Byte i typy wyliczeniowe), Boolean, String, Object
CSngSingleDowolny typ liczbowy (w tym Byte i typy wyliczeniowe), Boolean, String, Object
CStrCiągDowolny typ liczbowy (w tym Byte), Boolean, Char, Char array, Date, Object
CTypeTypy wymienione po przecinku (,)Podczas konwersji na typ podstawowy (w tym na tablicę elementów podstawowych): te same typy, które są dozwolone dla słowa kluczowego konwersji.

Podczas konwersji na typ złożony: implementujące go interfejsy oraz klasy, z których dziedziczy.

Zmiana domyślnych wartości projektu

Można zmienić domyślne wartości ustawień Option Explicit i Option Strict w konkretnym projekcie. Na przykład podczas tworzenia nowej aplikacji Visual Basic .NET lub Visual Basic 2005 wartość Option Explicit jest ustawiona na On. Można zmienić to ustawienie na Off.

Aby zmienić domyślne wartości ustawień Option Explicit i Option Strict, wykonaj następujące kroki:
  1. Zlokalizuj w systemie następujące pliki szablonu projektu:
    • EmptyProjectIPF.vbproj
    • EmptyWebProjectIPF.vbproj
    • WebApplication.vbproj
    • WebControl.vbproj
    • WebService.vbproj
    • WindowsApplication.vbproj
    • WindowsControl.vbproj
    • WindowsService.vbproj
  2. Otwórz szablon projektu w Notatniku.
  3. Dodaj (lub wyedytuj, jeśli już istnieją) wiersze OptionStrict i OptionExplicit w sekcji <Settings> szablonu.

    Na przykład następujący kod przedstawia, jak ustawić wartość OptionExplicit na Off oraz wartość OptionStrict na On:
    <VisualStudioProject>
        <VisualBasic>
            <Build>
                <Settings 
                    OutputType = "Exe" 
                    StartupObject = ""
                    OptionExplicit = "Off"
                    OptionStrict = "On"
                >
    						
  4. Powtórz krok 2 i 3 dla każdego projektu, w którym chcesz zmienić domyślne zachowanie.

Właściwości

Numer ID artykułu: 311329 - Ostatnia weryfikacja: 30 marca 2007 - Weryfikacja: 3.1
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Visual Basic 2005 Express Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Słowa kluczowe: 
kbvs2005swept kbvs2005applies kbvs2002sp1sweep kbbug kbcompiler kbdebug kbideproject kbinfo kbupgrade KB311329

Przekaż opinię

 

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