Declararea evenimentelor intr-o clasa de obiecte VB.NET se realizeaza cu ajutorul specificatiei Event. Definirea evenimentului presupune atribuirea denumirii si furnizarea argumentelor.
Prin includerea unui eveniment intr-o clasa de obiecte, obiectele definite pe baza clasei respective pot transmite mesaje asociate evenimentului – raise. Transmiterea se realizeaza prin specificatia RaiseEvent. Asocierea evenimentului cu procedura de tratare a lui se realizeaza prin specificatiile Handles sau AddHandler […].
Mesajul evenimentului este transmis in cadrul entitatii in care acesta a fost definit. De exemplu, o clasa de obiecte derivata nu poate transmite mesaje asociate evenimentelor mostenite din clasa de baza.
Evenimentele nu au tip de retur, dar pot avea lista de argumente.
'crearea unei clase de obiecte care contine un eveniment,_
handler de eveniment si procedura de asociere eveniment-handler eveniment
Class GrupOp
'definire handler de eveniment
Public Sub OpDiferenta(ByVal a As Integer, ByVal b As Integer)
Dim dif As Integer
dif = a - b
MsgBox("Diferenta este: " & CStr(dif))
End Sub
'definirea unui eveniment
Public Event Calcul(ByVal x As Integer, ByVal y As Integer)
'definire procedura de asociere eveniment-handler eveniment
Public Sub SetUpEventHanlderDif(ByVal a As Integer,_
ByVal b As Integer)
AddHandler Calcul, AddressOf OpDiferenta
End Sub
End Class
In exemplul anterior, evenimentul si cele doua metode Sub sunt definite in aceeasi clasa de obiecte. Astfel, specificatia AddHandler nu mai trebuie sa refere evenimentul si handler-ul de eveniment pe baza variabilelor obiect definite pe baza tipului GrupOp.
Metoda OpDiferenta este handler-ul de eveniment. Asocierea dintre evenimentul Calcul si handler-ul de eveniment OpDiferenta se realizeaza prin metoda SetUpEventHandlerDif.
1 thought on “Definirea evenimentelor in clase de obiecte VB.NET”