При вызове функции со свойством в качестве аргумента, объявленного byref, метод set свойства выполняется после вызова функции.
Это выдает ошибку компилятора, если это делается в c #, если вы пытаетесь передать свойство в функцию с ref
, но в vb.net это происходит. Это ошибка? Что происходит?
Module Module1
Private _testProp As Integer
Property testProp As Integer
Get
Return _testProp
End Get
Set(value As Integer)
Console.WriteLine("changed TestProp to " & value.ToString())
_testProp = value
End Set
End Property
Private Sub testFunction(ByRef arg As Integer)
Console.WriteLine(arg)
End Sub
Sub Main()
Console.WriteLine("explicit set to 5 in main")
testProp = 5
Console.WriteLine("calling function")
testFunction(testProp)
Console.ReadKey()
End Sub
End Module
Выход:
явное значение 5 в основном
изменил TestProp на 5
вызывающая функция
5
изменил TestProp на 5