Zdarzenia – wywołanie, wykorzystanie i obsługa

Zdarzenia Jeśli chcemy, ażeby jakiś fragment kodu reagował na zdarzenia z innego obiektu musimy przypisać funkcję obsługującą zdarzenie. Metoda obsługująca zdarzenie powinna przyjmować  dwa parametry: obiekt klasy Object, który informuje przez co zostało wywołane zdarzenie obiekt z argumentami zdarzenia typu dziedziczącego po EventArgs Przypisanie wygląda następująco [crayon-662bd4738a893683182978/] W pierwszym przypadku…

Metoda using

Metoda using Wykorzystywany jest w przypadkach, gdy pracujemy z obiektami, które powinny być w bezpieczny sposób usunięte z pamięc, i takich jak strumienie, readery czy połączenia sieciowego. W tym przypadku niezależnie od tego czy coś się stanie możemy wykorzystać blok try{}finally{}, o którym pisałem ostatnio https://mateuszstanek.pl/2018/02/13/obsluga-wyjatkow/

Yield – Leniwe kolekcje

Yield Instrukcja Yield wykorzystywana jest do tworzenia kolekcji, gdzie kolejne elementy kolekcji są tworzone w momencie ich wykorzystania. Umożliwia to zaoszczędzenie pamięci oraz przyśpieszenie działania aplikacji. Jeśli chcemy wygenerować obiekty naszej listy możemy wykorzystać instrukcję yield return: [crayon-662bd4738d8d3868834474/] Metoda generująca nasze elementy zostanie wykonana dopiero w momencie odczytu elementu poprzez…

Obsługa wyjątków

Wyjątek Wyjątek jest mechanizmem kontrolowania aplikacji w sytuacjach wyjątkowych, niespodziewanych czy błędnych. Dzięki niemu możemy odzyskać kontrolę nad aplikacją w momencie, kiedy użytkownik, bądź uwarunkowania zewnętrzne(poza aplikacją) nie działają tak jak tego się spodziewamy. Do obsługi wyjątków służy blok

Extension methods – nowe metody w starych typach

Extension methods Extension methods – to sposób na dodanie nowych metod, rozszerzenie interfejsów, czy klas bez fizycznej ich zmiany. Metoda ta umożliwia rozszerzenie klasy lub interfejsu bez potrzeby dziedziczenia, przez co rozszerzać możemy także klasy, po których nie możemy dziedziczyć (sealed). Extension method może działać jedynie na publicznym api i…

Czytelne testy z FluentAssertions

FluentAssertions FluentAssertions jest biblioteką, dzięki której assercje w testach są dużo bardziej czytelne. Osobiście używam jej, jeśli tylko mogę. Assercje z jej wykorzystaniem są łatwe do zrozumienia, a i komunikaty błędów są moim zdaniem czytelniejsze, niż w przypadku standardowych assercji.