|
|
|

|

|
Dicas
|

|
Visual Basic.Net (Declarações/Variáveis)
|
|
 |
Título da Dica: Passagem de parâmetros
|
 |
|
|
Postada em 9/10/2003 por ~Ð@®£@Ñ
Você lembra como era a passagem de parâmetros para funções/ procedimentos no VB 6.0 ??? Esqueceu ???
Vou refrescar sua memória .... !!!
No VB 6.0 quando passamos um parâmetro , se não for definido se o parâmetro é passado por valor - ByVal - ou por referência - ByRef - o VB assume como padrão que o parâmetro vai ser passado por referência (ByRef).
Você se lembra que quando passamos um parâmetro por referência o parâmero pode ter o seu valor alterado dentro da função/procedimento chamada. ? Deve lembrar também que isto pode trazer muitas dores de cabeça para você ...
Quer ver o porque ??? Então estudo o código abaixo e responda a seguinte pergunta :
" Qual vai ser o valor da variável X ??? "
Private Sub Form_Load() Dim x As Integer Dim y As Integer
x = 10 y = Passa_Parametro_Por_Referencia(x)
MsgBox " y é igual a " & y & vbCrLf & " x é igual a " & x, vbCritical, "Passagem de parametros ByRef"
End Sub Function Passa_Parametro_Por_Referencia(valor As Integer) As Integer
valor = valor + 10 Passa_Parametro_Por_Referencia = valor
End Function
Execute o projeto e você verá o seguinte resultado :
Percebeu que o valor da variável X foi alterado na função - Passa_Parametro_Por_Referencia Isto acontece por que quando passamos a variável A como parâmetro para a função o VB 6.0 passou o parâmetro por referência , visto que não informamos nada a respeito.
No VB.NET não temos este problema por que o padrão da passagem de parâmetros no VB.NET é sempre Por Valor (ByVal)
O mesmo código acima executado no VB.NET irá retornar para a variável X o valor igual a 10. Ou seja o valor original da variável X é mantido após a chamada da função...
Então lembre-se o padrão da passagem de parâmetros no VB é sempre por valor.
até a próxima dica ...
|
|
|
|

|