Akademia C# lab. 9 Zdarzenia i delegaty.

Slides:



Advertisements
Podobne prezentacje
Temat 2: Podstawy programowania Algorytmy – 1 z 2 _________________________________________________________________________________________________________________.
Advertisements

Wyszukiwanie informacji w Internecie. Czym jest wyszukiwarka? INTERNET ZASOBY ZAINDEKSOWANE PRZEZ WYSZUKIWARKI Wyszukiwarka to mechanizm, który za pomocą.
Co potrafię w przyjaźni z komputerem?.  Z jakich elementów się składa? Z jakich elementów się składa?  Do czego służy? Do czego służy?  Jakie programy.
Zapraszamy na naszą stronę. Zależy nam na kontakcie z Wami. Czytajcie, komentujcie i dyskutujcie na forum. Nic o Was bez Was Zapraszamy na naszą stronę.
Python. Języki Programistyczne Microcode Machine code Assembly Language (symboliczna reprezentacja machine code) Low-level Programming Language (FORTRAN,
ACCESS - RELACJE TEMAT:. Tworzenie i edycja relacji Relacje w bazach danych tworzone są w celu powiązania z sobą danych z wielu tabel. Tworzymy (edytujemy)
Definiowanie i planowanie zadań typu P 1.  Planowanie zadań typu P  Zadania typu P to zadania unikalne służące zwykle dokonaniu jednorazowej, konkretnej.
API jądra do obsługi przestrzeni użytkownika Co jest tematem tej prezentacji: Transport danych pomiędzy przestrzeniami użytkownika i jądra (asm/uaccess.h)
Język Java Paweł Rajba
Dziedziczenie, polimorfizm, Interfejsy
Rola książki w życiu człowieka
Konstruowanie robotów z wykorzystaniem Vex IQ
Programowanie Obiektowe – Wykład 1
Kluczowe elementy skutecznej strategii analizy danych internetowych
Przeglądarka stron WWW
Komunikacja ze szkołą i nauczycielami - dziennik elektroniczny
Kurs języka C++ – wykład 2 ( )
Wytwarzanie oprogramowania sterowane przypadkami testowymi
DEFINICJA I ZASTOSOWANIE W JĘZYKU HASKELL
Zasady bezpiecznego korzystania z internetu
Symulacja procesu BPMN
On-the-Fly Garbage Collection
Prezentacja o Ubuntu Jakub Kociemba 2TI.
Mikołaj Radwan JUnit Mikołaj Radwan
Logarytmy.
Zmysły i Zdarzenia.
Akademia C# - Lab2 Zmienne, instrukcje warunkowe, pętle, debugger,
Rekursje Tak jak w innych językach funkcje mogą odwoływać się same do siebie Możemy regulować głębokość przed stwierdzeniem błędu (MaxRecursion, $RecursionLimit,
Delegaty Delegat to obiekt „wiedzący”, jak wywołać metodę.
Funkcja – definicja i przykłady
Programowanie obiektowe Wykład 10
Programowanie obiektowe
Optymalizacja programów Open-Source
Lekcja 1 – Hello World! Visual Studio, coś łatwego na początek 
Programowanie obiektowe
Klasyczny album fotograficzny
Kurs języka C++ – wykład 13 ( )
Dodawanie liczb całkowitych
Wykorzystanie aplikacji użytkowych do przeprowadzenia cyberataku
PROGRAMY DO KONTROLI RODZICIELSKIEJ
Bezpieczeństwo dostępu do danych w systemie Windows
Języki programowania.
Jak dostosować witrynę internetową usługi Microsoft SharePoint Online
Programowanie obiektowe
GRUPY DANYCH : Funkcje dostępne z poziomu GRUP DANYCH
Laboratorium 1 – obsługa wejść i wyjść
Jak korzystać z usługi Video s i Raportu Kontaktów
Instrukcje wyboru.
Ustawa 2.0 – pomoc materialna
Koszyk danych.
SYSTEM KONTROLI FREKWENCJI
Departament Rozwoju Regionalnego i Funduszy Europejskich
Podstawy informatyki Zygfryd Głowacz.
Strukturalne wzorce projektowe
Zmienne i typy danych w C#
PGO Kolekcje Michail Mokkas.
Opracowanie: mgr Barbara Benisz
Proste obliczenia w arkuszu kalkulacyjnym
Damian Urbańczyk Edytory WYSIWYG.
Zdarzenia (eventy) Zdarzenia służą do powiadomienia użytkownika, gdy w używanej klasie dojdzie do pewnych wydarzeń zdefiniowanych przez twórcę klasy.
Implementacja rekurencji w języku Haskell
Jak szukać błędów w Eclipsie?
POZNAJEMY PULPIT Opracowanie: mgr Barbara Benisz SP nr 20 w Rybniku
Język C++ Operatory Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła.
Centrum Powiadamiania Ratunkowego W Bydgoszczy
Autor: Magdalena Linowiecka
Najważniejsze operacje graficzne w programie GIMP
Instrukcja podpięć przedmiotów w USOSie
pracę programu Outlook
Zapis prezentacji:

Akademia C# lab. 9 Zdarzenia i delegaty

Zdarzenia Jak działają? Jeden obiekt udostępnia zdarzenie, inne je obsługuje. Zdarzenie to coś co się wydarza w naszym programie, np. kliknięcie na przycisk. Zdarzenia się obsługuje. Specjalny kod do tego nazywamy procedurą obsługi zdarzeń.

Każda z kontrolek, posiada pulę zdefiniowanych zdarzeń, do których za pomocą delegacji musimy przypisać stworzone przez nas metody. Oczywiście każda z metod, musi posiadać zgodne z wybranym zdarzeniem parametry.

Przyklad

Delegaty Delegaty są często porównywane do wskaźników funkcji z języka C++. Delegacja to obiekt zawierający wywołanie metody innego obiektu (lub klasy) Pozwala się odwoływać do konkretnych funkcji(konkretnej klasy lub obiektu ) w trakcjie działania programu, a nastepnie je wykonywać Delegacje zawierają referncję do funkcji (w odróznieniu: zmienne do obiektu)   W bibliotece .net istnieje klasa Delegate która zawiera wszystkie niezbedne mozliwosci

Delegaty Można powiedzieć, że delegaty przechowują referencję (adres w pamięci) do danych metod. Korzystając z delegatów, możesz wykonać kod znajdujący się w metodach. 

public delegate int Delegacja(int X); Tworzenie delegatów public delegate int Delegacja(int X);

public delegate void Del(string message); // Create a method for a delegate. public static void DelegateMethod(string message) { System.Console.WriteLine(message); } // Instantiate the delegate. Del handler = DelegateMethod; // Call the delegate. handler("Hello World");

Prosty przykład namespace SimpleSample { public delegate void SimpleDelegate(); // tworzenie delegaty class Test public static void TestMethod() // jakas metoda Console.WriteLine("Metoda zostala wywolana przez delegat"); } public static void Main() SimpleDelegate sDelegate = new SimpleDelegate(TestMethod); // przekazanie metody sDelegate(); // wywołanie delegaty

Typ delegaty Typ delegatu ustalamy w zależności od tego tego jakiego typu są metody które chcemy przekazywać. np. Deklarujemy typ delegatu, który może zawierać referencje do funkcji bezparametrowych zwracających void

Parametr konstruktora delegaty i wywołanie  Jako parametr do konstruktora delegatu podajemy identyfikator funkcji (metody), którą chcemy, żeby on wskazywał. Następnie wywołujemy delegat.

multicasting Mając zadeklarowany delegat, możemy podpiąć do niego dowolną metodę. Ważne jest to, aby zgodne były argumenty oraz typ zwracany. Co ciekawe, delegaty w C# obsługują tzw.multicasting. Dzięki temu możliwe jest podpięcie wielu metod do jednego delegata. Podpinanie metod pod delegat odbywa się za pomocą: pierwsza metoda podpinana jest poprzez konstruktor, podczas tworzenia instancji delegata każdą następną metodę możemy dodać/usunąć za pomocą operatorów += oraz -=

Użycie delegatów Przy pomocy delegatów możemy decydować w trakcie działania programu, jaka metoda zostanie wykonana.

Przyklad