ByVal e ByRef com tipo de referência
Por favor veja o código abaixo:
Public Class TypeTest
Public variable1 As String
End Class
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim t1 As TypeTest = New TypeTest
Test(t1)
MsgBox(t1.variable1)
End Sub
Public Sub Test(ByVal t1 As TypeTest)
t1.Variable1 = "Thursday"
End Sub
End Class
A caixa de mensagem no form_load imprime: quinta-feira, que significa que o objeto (TypeTest) é passado por referência. Qual é a diferença entre usar ByVal e ByRef para o argumento t1 na função chamada: Teste.