ByVal (Visual Basic)
Określa, że argument jest przekazywany w taki sposób, że wywołana procedury lub właściwości nie można zmienić wartość zmiennej, leżących u podstaw argument kod wywołujący.
Uwagi
ByVal Modyfikator mogą być używane w tych kontekstach:
Instrukcji funkcyjnej (Visual Basic)
Przykład
Poniższy przykład ilustruje użycie ByVal parametr przekazując mechanizmu z argumentem typu odwołania.Na przykład argument jest c1, wystąpienie klasy Class1.ByValuniemożliwia zmianę podstawowa wartość argumentu, kod w procedurach c1, ale nie chroni dostępne pola i właściwości c1.
Module Module1
Sub Main()
' Declare an instance of the class and assign a value to its field.
Dim c1 As Class1 = New Class1()
c1.Field = 5
Console.WriteLine(c1.Field)
' Output: 5
' ByVal does not prevent changing the value of a field or property.
ChangeFieldValue(c1)
Console.WriteLine(c1.Field)
' Output: 500
' ByVal does prevent changing the value of c1 itself.
ChangeClassReference(c1)
Console.WriteLine(c1.Field)
' Output: 500
Console.ReadKey()
End Sub
Public Sub ChangeFieldValue(ByVal cls As Class1)
cls.Field = 500
End Sub
Public Sub ChangeClassReference(ByVal cls As Class1)
cls = New Class1()
cls.Field = 1000
End Sub
Public Class Class1
Public Field As Integer
End Class
End Module
Zobacz też
Koncepcje
Przekazywanie argumentów przez wartość i przez odwołanie (Visual Basic)