#vb.net #class #basic
#vb.net #класс #Базовые модели
Вопрос:
У меня есть два класса.
1-) NumberClass 2-) MessageClass
Числовой класс ;
Public Class NumberClass
Property Number As Byte
End Class
Класс сообщений;
Public Class MessageManager
Inherits NumberClass
Public Sub sendMessage()
MsgBox(Number)
End Sub
End Class
Public Class Form1
Это мой код кнопок :
Private Sub ShowNumberBtn_Click(sender As Object, e As EventArgs) Handles ShowNumberBtn.Click
Dim messageManager As New MessageManager
messageManager.sendMessage()
End Sub
Private Sub ChangeNumberBtn_Click(sender As Object, e As EventArgs) Handles ChangeNumberBtn.Click
Dim numberClass As New NumberClass
numberClass.Number = 50
MsgBox("Number Changed to : " amp; numberClass.Number)
End Sub
Сначала я нажимаю кнопку изменить номер. Он изменяет значение числовой переменной на 50.
До сих пор все в порядке, но когда я нажимаю кнопку отправки сообщения, сообщение показывает старое значение переменной Number, оно не отражается в методе SendMessage.
Комментарии:
1. Вы должны включить код, который показывает вашу проблему.
2. окей, я добавил больше информации о своей проблеме, кстати, извините за мой английский
3. Другими словами, покажите нам, где вы создаете экземпляр этих классов с ключевым словом «New», обновляете значения, а затем пытаетесь отобразить значения (таким образом, показывая, что они «не изменились»). Ваше последнее редактирование ничего из этого не делает.
4. Хорошо, я добавил код своих кнопок
5. Ваши обработчики нажатия кнопок создают два СОВЕРШЕННО ОТДЕЛЬНЫХ экземпляра класса. Конечно, значение «не обновляется». Если вы хотите, чтобы два обработчика нажатия кнопок действовали на один и тот же экземпляр класса, затем переместите объявление на уровень ФОРМЫ, чтобы оба обработчика могли обращаться к одному и тому же экземпляру.
Ответ №1:
У меня все отлично работает … не уверен, что вы пробовали, поскольку вы никогда не обновляли свой код, чтобы показать свои попытки:
Public Class Form1
Private messageManager As New MessageManager
Private Sub ShowNumberBtn_Click(sender As Object, e As EventArgs) Handles ShowNumberBtn.Click
messageManager.sendMessage()
End Sub
Private Sub ChangeNumberBtn_Click(sender As Object, e As EventArgs) Handles ChangeNumberBtn.Click
messageManager.Number = 50
MsgBox("Number Changed to : " amp; messageManager.Number)
End Sub
End Class
Public Class NumberClass
Property Number As Byte
End Class
Public Class MessageManager
Inherits NumberClass
Public Sub sendMessage()
MessageBox.Show("Number = " amp; Number)
End Sub
End Class
Комментарии:
1. Эй, это сработало, но я не понимаю, что теперь изменилось? кстати, большое спасибо
2. Эй, пожалуйста, скажите мне, как это работает в этом коде, но не работает в моем коде, все то же самое, я не знаю, что со мной не так? plss
3. Что-то должно быть по-другому! ОБНОВИТЕ свой код в нашем исходном сообщении выше с помощью вашей текущей попытки, которая не работает, чтобы мы могли помочь вам выяснить, что не так.
4. Я уже пробовал это, но не вижу никаких различий. Я думаю, я глупый: (