Udostępnij za pośrednictwem


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:

Declare — Instrukcja

Function — Instrukcja (Visual Basic)

Operator — Instrukcja

Property — Instrukcja

Sub — Instrukcja (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 według wartości i według odwołania (Visual Basic)

Inne zasoby

Słowa kluczowe (Visual Basic)