Partilhar via


Expressões no Visual Basic

Este tópico se aplica a:

Edição

Visual Basic

C#

C++

Desenvolvedores Web

Express

Padrão

PRO e equipe

Legenda de tabela:

Aplica-se

Não é aplicada

Comando ou comandos oculta por padrão.

O avaliador da expressão gerenciado aceita a maioria das expressões escritas em Visual Basic. Na janela Immediate, o avaliador da expressão suporta apenas instruções de uma linha.

As seções a seguir oferecem informações específicas e discutem alguns dos tipos de expressão que não têm suporte:

  • Identificadores e tipos

  • Função de avaliação

  • Operadores

  • Palavras-chave sem-suporte

  • Sequências

  • Conversões

  • Operador TypeOf

  • Variáveis objeto contendo tipos intrínsecos

  • Propriedade de avaliação

  • WebMethods

  • Declaração de variável

Visual Basic não dá suporte a regras autoexpand para exibir o Sumário de um tipo de dados no formulário significativo. Para obter mais informações, consulte Exibindo elementos de um tipo de dados personalizados.

Conversões

Conversões simples funcionam no depurador:

A = CStr(B)

Função de avaliação

O depurador oferece suporte a avaliação de funções, incluindo funções sobrecarregadas.Portanto, você pode inserir qualquer uma das expressões a seguir, e o depurador chamará a versão correta da função sobrecarregada:

myFunction (param1)

myFunction (param1, param2)

Avaliar uma função no depurador chama e executa o código para essa função.Se a função possui efeitos colaterais, como alocar memória ou alterar o valor de uma variável global, avaliar a função em uma janela de depurador alterará o estado de seu programa, que pode produzir resultados inesperados.

Quando você definir um ponto de interrupção em uma função sobrecarregada, o local do ponto de interrupção depende de como você especificar a função.Se você especificar somente o nome da função será definido um ponto de interrupção em cada sobrecarga com esse nome de função.Se você especificar a assinatura completa, nome da função e lista de argumentos completa, o depurador define um ponto de interrupção na sobrecarga especificada.

Identificadores e tipos

Expressões de depurador podem usar qualquer identificador visível dentro do escopo atual.Se o depurador é interrompido na função Magh, por exemplo, você pode usar a maioria dos identificadores visíveis na Magh, incluindo variável nomes e nomes de funções. Não há suporte para constantes locais.Você pode definir o valor de qualquer variável visível dentro do escopo atual.

O depurador corretamente pode exibir qualquer variável de um tipo primitivo ou intrínseco.Para variáveis de tipo de classe, o depurador corretamente exibe o valor com base no tipo mais derivado.Se você tiver um objeto leo do tipo Lion, derivado do tipo Cat, você pode avaliar leo.Clawlength e obter o valor correto para um objeto do tipo Lion.

Aliases de importação

Você não pode usar aliases de importação nas janelas de depurador.

Variáveis objeto contendo tipos intrínsecos

Variáveis de objeto que contêm tipos intrínsecos variáveis, como inteiro, são exibidos e editados de uma maneira que pode parecer pouco intuitivo.Por exemplo, suponha que seu código fonte contém variável de objeto como esta:

Dim obj As Object = 5

The Observação janela mostra o valor da variável obj sistema autônomo:

5 {Integer}

Para alterar o valor dessa variável para 6, você deve inserir:

6

Você não deve inserir:

6 {Integer}

Após edição o valor, você observará que o depurador adiciona o {Integer} para você.

Operadores

O depurador corretamente avalia a maioria dos operadores, incluindo:

  • Operadores aritméticos: ( expr1 + expr2, expr1 - expr2, expr1 * expr2, expr1 / expr2, expr1\expr2, expr1^expr2 , expr1Modexpr2 ).

  • Operadores de atribuição: ( var1 = expr2, var1 ^= expr2, var1 *= expr2, var1 /= expr2, var1 \= expr2, var1 += expr2, var1 -= expr2, var1 &= expr2).

  • Operadores de comparação: (expr2 < expr2, expr2 <= expr2, expr1 > expr2, expr1 >= expr2, expr1 = expr2, expr1 <> expr2).

  • Operadores de concatenação: (expr1 & expr2, expr1 + expr2 ).

  • Operadores lógicos: (expr1 And expr2, expr1 Or expr2, expr1 XOr expr2, expr1 AndAlso expr2, expr1 OrElse expr2, Notexpr1).

  • Operadores unários: ( - expr1, Not expr1, GetType (tipo) ).

Propriedade de avaliação

O depurador pode avaliar as propriedades em qualquer janela variável.No entanto, avaliar uma propriedade no depurador pode ter efeitos colaterais, como alterar valores de variáveis, que afetam os resultados do programa.Para proteger contra efeitos colaterais causados por avaliação acidental, você pode desativar Propriedade de avaliação na caixa de diálogo General, Debugging, Options.

Sequências

In Visual Basic, você pode usar o Length operador em uma seqüência de caracteres:

mystring.Length

- ou -

"hello world".Length

Operador TypeOf

In Visual Basic, você pode usar o TypeOf operador nas janelas do depurador:

TypeOf expressão Is type

Por exemplo,

TypeOf Me Is Integer

Exibe o valor false.

Se você usar TypeOf, deve parte de uma expressão que utiliza Is. Se você usar TypeOf sem Is, você será exibida a seguinte mensagem de erro:

Is required

Palavras-chave sem-suporte

A seguir Visual Basic Não há suporte para palavras-chave em expressões de janela do depurador:

  • AddressOf

  • End

  • Error

  • Exit

  • Goto

  • On Error

  • Return

  • Resume

  • Select/Case

  • Stop

  • SyncLock

  • Throw

  • Try/Catch/Finally

  • With

Além disso, nenhum namespace ou o módulo de nível de palavras-chave, sistema autônomo End Sub ou Module, são suportados.

Declaração de variável

Você não pode declarar novas variáveis explicitamente nas janelas de depurador.

No entanto, você pode atribuir a uma variável implícita na janela Immediate.Essas variáveis implícita são escopeadas para o depurador e não acessível fora do depurador.Por exemplo a demonstrativo o = 5 implicitamente criará uma nova variável o e atribua o valor 5 a ele. Essas variáveis implícitas são do tipo Object a menos que o tipo possa ser inferido pelo depurador.

WebMethods

Não é possível chamar WebMethods do depurador de janelas.

Consulte também

Outros recursos

Expressões no depurador

Referência do Visual Basic