Thread View: alt.pl.comp.lang.csharp
4 messages
4 total messages
Started by iiui
Mon, 26 Apr 2004 14:48
delegat - praktyczne uzycie
Author: iiui
Date: Mon, 26 Apr 2004 14:48
Date: Mon, 26 Apr 2004 14:48
6 lines
894 bytes
894 bytes
witam! cztam o delegatch, czy moglibyscie podac przyklady praktycznego ich uzycia, po co sie je uzywa, na co, itp. jak dla laika. dzieki
Re: delegat - praktyczne uzycie
Author: Marek Janaszewski USUNTO. z adre...
Date: Mon, 26 Apr 2004 22:01
Date: Mon, 26 Apr 2004 22:01
51 lines
3349 bytes
3349 bytes
iiui wrote: > witam! > > cztam o delegatch, czy moglibyscie podac przyklady praktycznego ich > uzycia, po co sie je uzywa, na co, itp. jak dla laika. [...] Witam! Potrzebne są do obsługi zdarzeń. W C# są delegat, w innych językach spotkałem się ze zmiennymi typu proceduralnymi albo interfejsami. Obiekt przetwarza jakiś własny kod i chce dać możliwość wywołania w odpowiednim momencie kodu programisty. Realizowane to jest właśnie przez zdarzenia. Sprowadza to się przechowywania referencji na metody mają być właśnie wywołane w wyniku obsługi zdarzeń. Metody takie właśnie przypina programista do uchwytów zdarzeń w obiekcie, który odpala zdarzenia. Zdarzenia mogą pochodzić z wewnątrz obiektu ale niejako z zewnątrz. Jako zdarzenia systemowe zwykle od użytkownika. Np. naciśniecie klawisza, ruch muszką, ale także upływający czas. To znaczy zamiast wywołania metody, które gdzieś tam wywołuje zdarzenie obiekt otrzymuje komunikat od systemu operacyjnego. Komunikat (message) jest przetwarzana przez obiekt i zwykle zamieniana na wywołanie zdarzenia. Zdarzenie daje możliwość dopisanie dodatkowej obsługi komunikatu. Można nazwać, że kod jest wywoływany wtedy asynchronicznie. Zdarzenia mogą także służyć od uelastycznienia używania obiektów i wiązanie ze sobą wielu obiektów. Zamiast stworzyć po prostu wywoływać metody innych obiektów można stworzyć wielokrotnie wykorzystywany obiekt z przygotowanymi do użytku zdarzeniami. Aby podpiąć się do tego obiektu nie trzeba zmieniać kodu obiektu. Obiekt także nie musi importować obiektów, które wykorzystuje. Np. może być przeniesiony do innego projektu i tego nie zauważyć. Dopiero inne obiekty mogą się do niego podpiąć przez zdarzenie. Generalnie takie programowanie nazywa się sterowanym zdarzeniami, event-driven: http://en.wikipedia.org/wiki/Event-driven_programming Także są dwa aspekty zastosowania zdarzeń obsługiwanych w C# przez delegaty: 1. Zdarzenia od sprzętu, przez przerwania trafiają do systemu operacyjnego a następnie wysyłane są do procesów jako komunikaty Windows znane jeszcze z Win32 API. Sam system operacyjny także może inicjować własne zdarzenia aby komunikować się z procesem. 2. Rozwiązywanie problemów w tworzeniu wielokrotnie używanego kodu. -- Pozdrawiam, Marek Janaszewski [ j_m...@gazeta.pl ]
Re: delegat - praktyczne uzycie
Author: Tomasz Kubacki
Date: Tue, 04 May 2004 14:23
Date: Tue, 04 May 2004 14:23
8 lines
1131 bytes
1131 bytes
hej, Polecam: http://www.codeguru.com/Csharp/Csharp/cs_delegates/eventhandling/article.php/c4769/ pozdrawiam, Tomek Kubacki
Re: delegat - praktyczne uzycie
Author: zolo
Date: Wed, 26 May 2004 06:19
Date: Wed, 26 May 2004 06:19
11 lines
1102 bytes
1102 bytes
> witam! > > cztam o delegatch, czy moglibyscie podac przyklady praktycznego ich uzycia, > po co sie je uzywa, na co, itp. jak dla laika. > > dzieki Poczytaj sobie o wywolywaniach asynchronicznych funkcji. Pozdrawiam.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads