Не уверен, как использовать сеттер, геттер работает нормально

#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" not SponsorName() = "Second Value"

2. SponsorName = "NewValue" должен это сделать, () это ненужное слово, вы поняли!

3. Показанный код в порядке. Как сказал @soohoonigan, вы должны оставить () в свойстве, но VS2017 это не волнует, и не повлияло на поведение, когда я бросил его в быстрое консольное приложение. Может быть, показать место, откуда вы его читаете?

4. Если я удалю frmAddSponsor. ShowDialog() и frmEventGolferSponsors_Load затем я получаю ожидаемое значение в свойстве. Итак, что-то происходит в этих двух. Вероятно, вы сбросили свойство до его начального значения

5. У меня есть геттер lblSponsorName . Text = frmEventGolferSponsors . SponsorName Но текст метки гласит «Начальное значение», а не «Второе значение»