Как отловить изменение количества элементов стека - Visual Basic .NET
Формулировка задачи:
Привет. У меня в программе коллекция типа стек. На стек данные кладутся в одной процедуре, а снимаются в нескольких. Для статистики нужно отслеживать количество элементов в стеке. Как отловить изменение количества элементов стека (StackCountChanged)?
Решение задачи: «Как отловить изменение количества элементов стека»
textual
Листинг программы
Public Class Form1 Private mStack As New MyStack(Of String) Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Button1.Text = "Push" Button2.Text = "Pop" Button3.Text = "Peek" Button4.Text = "Count" AddHandler mStack.CountChanged, AddressOf mStackCountChanged End Sub Private Sub mStackCountChanged() MsgBox("mStackCountChanged") End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Static i As Integer = 0 i += 1 mStack.Push("Item=" & i.ToString) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click MsgBox("Pop " & mStack.Pop) End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click MsgBox("Peek " & mStack.Peek) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click MsgBox("Count=" & mStack.Count) End Sub End Class Public Class MyStack(Of T) Inherits Stack(Of T) Public Event CountChanged() Protected Overloads Sub Push(ByVal o As T) MyBase.Push(o) RaiseEvent CountChanged() End Sub End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д