0
我想知道如何設置我通過引用傳遞的變量的值。在這個例子中,我傳遞一個整數,但在應用程序中,它可能是一個不同的對象。設置通過引用傳遞的整數的值
不管怎麼說,這裏是發生了什麼事的簡短摘要:
- 計劃在次主(開始),和一個新的表單實例提出。表單的構造函數是一個ByRef參數。
- 執行New()子句後,該參數保存在表單實例的私有成員中。
- 用戶按下一個按鈕,併爲該私有成員分配一個值。
- 爲什麼原始結果也不一樣呢? (它仍然是0,而不是5555)
代碼示例:
Option Strict On
Public Class SpecialForm
Inherits System.Windows.Forms.Form
Private WithEvents _Btn As System.Windows.Forms.Button = Nothing
Private _Result As Integer
Public Sub New(ByRef Out_Result As Integer)
_Result = Out_Result
End Sub
Private Sub SpecialForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
_Btn = New System.Windows.Forms.Button
With _Btn
'Set size
'Set location
'Set text
'etc
End With
Me.Controls.Add(_Btn)
End Sub
Private Sub Btn_Click(sender As Object, e As System.EventArgs) Handles _Btn.Click
_Result = 5555
Me.Close()
End Sub
End Class
Module EntryPoint
Public Sub Main()
Dim result As Integer
Using mySpecialForm As New SpecialForm(result)
mySpecialForm.ShowDialog()
End Using
MsgBox(String.Format("The result is {0}", result)) 'DEBUG MESSAGE
End Sub
End Module
也許我做錯了,或者也許是語言的限制。但有沒有辦法做到這一點,而不使用全球?
整數是值類型 - 當你指定一個到另一個值複製,但兩者之間沒有聯繫。 – 2015-02-10 21:10:42