#vb.net #getter-setter
#vb.net #геттер-сеттер
Вопрос:
После нажатия кнопки я пытаюсь отправить значение в моем списке сеттеру в той же форме.
Dim strSponsorName As String = "Initial Value"
Private Sub btnAddSponsor_Click(sender As Object, e As EventArgs) Handles btnAddSponsor.Click
SponsorName() = "Second Value"
' Create new instance of adding a sponsor
frmAddSponsor.ShowDialog()
' reload EventGolferSponsor form
frmEventGolferSponsors_Load(sender, e)
End Sub
Public Property SponsorName() As String
Get
Return strSponsorName
End Get
Set(value As String)
strSponsorName = value
End Set
End Property
При вызове Get он по-прежнему имеет значение «Начальное значение».
Не использовать как использовать Set для изменения значения на «Второе значение»?
Комментарии:
1. Ваш get / set в порядке, но вы должны устанавливать значение как
SponsorName = "Second Value"
notSponsorName() = "Second Value"
2.
SponsorName = "NewValue"
должен это сделать,()
это ненужное слово, вы поняли!3. Показанный код в порядке. Как сказал @soohoonigan, вы должны оставить () в свойстве, но VS2017 это не волнует, и не повлияло на поведение, когда я бросил его в быстрое консольное приложение. Может быть, показать место, откуда вы его читаете?
4. Если я удалю frmAddSponsor. ShowDialog() и frmEventGolferSponsors_Load затем я получаю ожидаемое значение в свойстве. Итак, что-то происходит в этих двух. Вероятно, вы сбросили свойство до его начального значения
5. У меня есть геттер lblSponsorName . Text = frmEventGolferSponsors . SponsorName Но текст метки гласит «Начальное значение», а не «Второе значение»