🔥 Zapisy zamknięte, ale możesz pobrać Roadmapę .NET i dołączyć do listy oczekujących — Pobierz i dołącz do Listy VIP →

C# – Events

C# – Events

Kolejnym typem, który możemy mieć w klasie są zdarzenia. Wielokrotnie w rozwoju oprogramowania potrzebujemy interakcji aby śledzić komponenty, które wykonują jakieś interesujące rzeczy w nieprzewidywalnym czasie. Na przykład przycisk na ekranie jest elementem, który chcemy śledzić, i chcemy wiedzieć, kiedy użytkownik klika ten przycisk. Nie wiemy dokładnie, kiedy użytkownik kliknie przycisk, ale możemy otrzymywać powiadomienia gdy użytkownik kliknie przycisk czyli gdy zajdzie zdarzenie kliknięcia przycisku i wtedy możemy wykonać pewien kod w reakcji na to zdarzenie.

I Nie chodzi tylko o komponenty na ekranie takie jak przycisk. Czasami musimy zapisać dane do pliku lub odczytać dane z bazy danych. Być może będziemy musieli również śledzić katalog na twardym dysku i być powiadomionym, gdy użytkownik umieści nowy plik w tym katalogu lub gdy upłynie jakiś czas, ponieważ chcę wykonać jakiś kod co 60 sekund i odświeżyć niektóre dane, takie jak odświeżenie notowań giełdowych. Wszystko to są przykłady, kiedy zdarzenia są przydatne.

Zdarzenia zezwalają na śledzenie obiektu, takiego jak na przykład obiekt reprezentujący przycisk, zdarzenia pozwalają ogłaszać zajście zdarzenia każdemu, kto słucha, że ​​wydarzyło się coś ciekawego, np. gdy użytkownik kliknie na ten przycisk.
Nazywamy to ogłoszeniem zdarzenia i mówimy, że przycisk publikuje to zdarzenie.
Kod, który jest zainteresowany zdarzeniem kliknięcia, to kod subskrybujący zdarzenie.
Możemy mieć wielu subskrybentów słuchających pojedynczego kliknięcia, tak aby po kliknięciu przycisku 0 lub więcej niezależnych fragmentów kodu zostało wykonanych.

Jeden fragment kodu może zapisać dane do pliku, inny element może zmienić kolor ekranu inny element może zalogować informacje do bazy danych, są to trzy niezależne fragmenty kodu, które wykonają się gdy zajdzie zdarzenie a piękno zdarzeń polega na tym że sam obiekt przycisku nie musi śledzić, kto subskrybuje zajście zdarzenia a subskrybenci też tego nie robią muszą tylko wiedzieć ze zaszło zdarzenie. Wszystko to odbywa się poprzez magię delegatów w C#, więc aby zrozumieć zdarzenia, najpierw musimy zrozumieć delegaty. A delegaty omawialiśmy już w wcześniejszym wpisie. Po zapoznaniu się z działaniem delegatów bardzo łatwe jest rozumienie zdarzeń, ponieważ zdarzenia są oparte na delegatach i korzystają z nich.

Przejdźmy do Visual Studio i zobaczmy to w praktyce, aby stało się to bardziej jasne, całościowe omówienie tematu Events dostępne jest na kursie:

https://dev-hobby.pl/kursy/c-podstawy-programowania/

Cały kod do kursu na githubie:

https://github.com/mariuszjurczenko/CSarpKurs

👨‍💻
Mariusz Jurczenko
Senior .NET Developer · 10+ lat doświadczenia komercyjnego

Programista .NET z doświadczeniem komercyjnym w firmach takich jak COIG, Kamsoft czy Etisoft Smart Solutions. Twórca kursów, z których skorzystało już ponad 11 000 osób w Strefie Kursów i ponad 1 000 kursantów na dev-hobby.pl.

Specjalizacja: Clean Code, Clean Architecture i uczenie programowania tak, żeby dało się je naprawdę zrozumieć — nie wykuć.

Dodaj komentarz

czytanie to początek

Zamień wiedzę w umiejętności

Pobierz darmową Roadmapę .NET i ułóż takie tematy jak ten w spójną ścieżkę do pierwszej pracy.

Pobieram roadmapę →