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.