ByRef 关键字
方法参数之前的 ByRef 关键字表示将以允许方法更改(分配新值)参数的变量的方式发送参数。
Class SomeClass
Public Property Member As Integer
End Class
Module Program
Sub Main()
Dim someInstance As New SomeClass With {.Member = 42}
Foo (someInstance)
' here someInstance is not Nothing
' but someInstance.Member is -42
Bar(someInstance)
' here someInstance is Nothing
End Sub
Sub Foo(ByVal arg As SomeClass)
arg.Member = -arg.Member ' change argument content
arg = Nothing ' change (re-assign) argument
End Sub
Sub Bar(ByRef param As Integer)
arg.Member = -arg.Member ' change argument content
arg = Nothing ' change (re-assign) argument
End Sub
End Module