[英]How to get a value back out from a property in a class
我的Form1中有以下代碼,其中我將Value設置為一個屬性:
Dim login As New logInSession
Dim k As String
login.saveLogInfo = unameTB.Text
這是我的logInSession類中的代碼,我將在其中存儲值:
Private logInfo As String
Public Property saveLogInfo() As String
Get
Return logInfo
End Get
Set(ByVal value As String)
logInfo = value
End Set
End Property
現在,我想取回Form2的值。 問題是它不返回任何值。 以下是我的代碼:
Dim login As New logInSession
Dim k As String
k = login.saveLogInfo
MsgBox(k)
您能告訴我代碼有什么問題嗎?
Dim login As New logInSession // HERE
Dim k As String
k = login.saveLogInfo
MsgBox(k)
此代碼創建logInSession
類的新實例。 因此,每次嘗試訪問login.saveLogInfo
屬性時,它都是默認值(空字符串)。 您需要使用在此處創建的原始對象:
Dim login As New logInSession
Dim k As String
login.saveLogInfo = unameTB.Text
那是因為您有兩個不同的logInSession
類實例。 一個在Form1
,另一個在Form2
。 這是一個例證:
Dim login As New logInSession
'you have 1 logInSession instance here, and set it's property
login.saveLogInfo = "Some Text"
Dim anotherLogin As New logInSession
'but later you check property of another instance of logInSession
Dim k = anotherLogin.saveLogInfo
'here you get empty string
Console.WriteLine(k)
'you need to, in some way, pass the first instance instead of creating new instance
Dim referenceToFirstInstance As logInSession = login
k = anotherLogin.saveLogInfo
'here you get "Some Text"
Console.WriteLine(k)
查閱此參考資料, 了解如何在表單之間傳遞數據
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.