Sdílet prostřednictvím


Výrazy v jazyce Visual Basic

Vyhodnocení výrazu spravované přijímá většina výrazů v Visual Basic.V Okamžité okno, vyhodnocení výraz podporuje pouze jeden řádek příkazy.

Následující oddíly poskytují specifické informace a diskutují některé typy výrazů, které nejsou podporovány nebo jsou podporovány jen částečně:

  • Přetypování

  • Dynamické objekty

  • Vyhodnocení funkce

  • Identifikátory a typy

  • Import aliasů

  • Objektové proměnné obsahující vnitřní typy

  • Operátory

  • PropertyEvaluation

  • Řetězce

  • TypeOf operátor

  • Nepodporovaný klíčová slova

  • Deklarace proměnných

  • Prvky WebMethod

Visual Basicnepodporuje doplnit pravidla pro zobrazení obsahu datového typu ve srozumitelné formě.Další informace naleznete v tématu Prvky zobrazení datového typu vlastní.

Přetypování

Nádech jednoduché práce v debuggeru:

A = CStr(B)

Dynamické objekty

Vyhodnocení výrazů může vyhodnotit proměnné, které jsou staticky zadané jako dynamické.Může také vyhodnotit objekty, které implementují rozhraní IDynamicObject.Po že, které implementují rozhraní IDynamicObject objekty jsou vyhodnocovány v Sledování okna, dynamické zobrazení je přidán uzel.Uzel Dynamického zobrazení obsahuje členy objektu, ale neumožňuje úpravy hodnot členů.

Následující funkce dynamických objektů nejsou podporovány:

  • Složené operátory +=, -=, %=, /= a *=

  • Mnoho přetypování, včetně číselných přetypování a přetypování s typovým argumentem

  • Volání metody s více než dvěma argumenty

  • Mechanismy získání vlastnosti s více než dvěma argumenty

  • Nastavení vlastnosti s argumenty

  • Přiřazení do indexeru

  • Logické operátory && a ||

Vyhodnocení funkce

Ladicí program podporuje vyhodnocení funkce, včetně funkcí, přetížené.Proto můžete zadat jeden z těchto výrazů a ladicí program bude volat správná verze přetížené funkce:

myFunction (param1)

myFunction (param1, param2)

Vyhodnocení funkce v ladicím programu volá a spustí kód pro tuto funkci.Pokud funkce má vedlejší účinky, například přidělování paměti nebo změnit hodnotu globální proměnné, vyhodnocení funkce v okně ladicí program změní stav aplikace, který může vést k neočekávaným výsledkům.

Pokud nastavíte zarážku na přetížené funkce, umístění zarážce závisí na jak zadat funkci.Pokud zadáte pouze název funkce, bude ladicí program nastavit jednu zarážku na každé přetížení tohoto názvu funkce.Pokud zadáte úplný podpis, název funkce a seznam full argument, ladicí program nastaví jednu zarážku na zadaný přetížení.

Identifikátory a typy

Výrazy ladicího programu můžou použít libovolný identifikátor viditelný v aktuálním rozsahu.Pokud je spuštěn ladicí program ve funkci Magh, například, můžete použít většinu identifikátory, které jsou viditelné v Magh, včetně názvů proměnných a názvy funkcí.Lokální konstanty nejsou podporovány.Zobrazí hodnotu kterékoli proměnné lze nastavit v aktuálním oboru.

Ladicí program lze správně zobrazit libovolnou proměnnou typu primitivní nebo vnitřní.Pro proměnné typu třída, ladicí program správně zobrazí hodnotu v závislosti na nejvíce odvozeném typu.Pokud je objekt leo typu Lion, odvozeného od Cat, je možné vyhodnotit leo.Clawlength a získat správnou hodnotu pro objekt typu Lion.

Import aliasů

Import aliasů nelze použít v ladicím programu systému windows.

Objektové proměnné obsahující vnitřní typy

Objektové proměnné, které obsahují vnitřní typy, proměnné, jako celé číslo, zobrazení a upravovat způsobem, který se může zdát neintuitivní.Předpokládejme například, že zdrojový kód obsahuje proměnné objektu takto:

Dim obj As Object = 5

Sledování v okně se zobrazí hodnota proměnné obj jako:

5 {Integer}

Chcete-li změnit hodnotu této proměnné na 6, zadejte:

6

By zadáte:

6 {Integer}

Po úpravě hodnotu zjistíte, že ladicí program přidá {Integer} pro vás.

Operátory

Ladicí program správně vyhodnotí, většina operátorů, včetně:

  • Arithmetical operators: ( expr1+ expr2, expr1- expr2, expr1* expr2, expr1/ expr2, expr1\expr2, expr1^expr2 , expr1Modexpr2 ).

  • Assignment operators: ( var1= expr2, var1^= expr2, var1*= expr2, var1/= expr2, var1\= expr2, var1+= expr2, var1-= expr2, var1&= expr2).

  • Comparison operators: (expr2< expr2, expr2<= expr2, expr1> expr2, expr1>= expr2, expr1= expr2, expr1<> expr2).

  • Concatenation operators: (expr1& expr2, expr1+ expr2).

  • Logical operators: (expr1And expr2, expr1Or expr2, expr1XOr expr2, expr1AndAlso expr2, expr1OrElse expr2, Notexpr1).

  • Unary operators: ( - expr1, Not expr1, GetType (type) ).

Vyhodnocení vlastnosti

Ladicí program může vyhodnotit vlastnosti v jakémkoli okně proměnných.Vyhodnocení vlastnosti v debuggeru může mít vedlejší účinky, jako je například změna hodnoty proměnných, které ovlivňují výsledky programu.K ochraně proti vedlejší účinky způsobené náhodným hodnocení, můžete vypnout vlastnost hodnocení Obecné, ladění, možnosti dialogové okno.

Řetězce

V Visual Basic, lze použít Length operátor na řetězce:

mystring.Length

-nebo-

"hello world".Length

TypeOf operátor

V Visual Basic, lze použít TypeOf operátor v ladicím programu systému windows:

TypeOf expressionIs type

Příklad:

TypeOf Me Is Integer

Zobrazí hodnotu false.

Použijete-li TypeOf, musí část výrazu, který používá Is.Použijete-li TypeOf bez Is, zobrazí se následující chybová zpráva:

Is required

Nepodporovaný klíčová slova

Následující Visual Basic klíčová slova nejsou podporovány ve výrazech okna ladicího programu:

  • AddressOf

  • End

  • Error

  • Exit

  • Goto

  • On Error

  • Return

  • Resume

  • Select/Case

  • Stop

  • SyncLock

  • Throw

  • Try/Catch/Finally

  • With

Navíc žádný obor názvů nebo modul na úrovni klíčových slov, jako End Sub nebo Module, jsou podporovány.

Deklarace proměnných

Systém windows nelze deklarovat explicitní nové proměnné v debuggeru.

Však můžete přiřadit implicitní proměnné v Okamžité okno.Tyto implicitní proměnné jsou scoped k ladicímu programu a není k dispozici mimo ladicí program.Například příkaz o = 5 implicitně vytvoří novou proměnnou o a přiřaďte hodnotu 5 k němu.Jsou tyto implicitní proměnné typu Object Pokud typ může být odvozeno ladicím programem.

Prvky WebMethod

Není možné volat prvky WebMethod z oken ladicího programu.

Viz také

Další zdroje

Výrazy v ladicím programu

Referenční dokumentace jazyka Visual Basic