ByVal y ByRef con tipo de referencia
Por favor, consulte el siguiente código:
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
El cuadro de mensaje en form_load imprime: jueves, lo que significa que el objeto (TypeTest) se pasa por referencia. ¿Cuál es la diferencia entre usar ByVal y ByRef para el argumento t1 en la función llamada: Prueba?