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.