FER / ZPR /  Ergonomija
Delegati Zaključak
Za napredne
Serijalizacija je proces konverzije stanja objekta u oblik koji je postajan i koji se može prenositi. Komplement serijalizacije je deserijalizacija koja pretvara tok podataka (npr. datoteku) u objekt. Zajedno ovi procesi omogućuju trajnu pohranu i transfer podataka.

» Pročitaj članak

Događaji

Događaji omogućuju nekoj klasi da pošalje obavijest da se nešto zanimljivo dogodilo. Na primjer, klasa koja predstavlja kontrolu korisničkog sučelja može definirati događaj koji se dogodi kad korisnik napravi klik s mišem na nju. Klasu ne zanima što će se dogoditi kad se klikne na gumb, ali želi obavijestiti izvedene klase da se klik događaj dogodio. Izvedene klase mogu odlučiti što će se dogoditi.

Događaji koriste delegate da ponude sigurnu enkapsulaciju metode koja će biti pozvana kad se događaj okine. U sljedećem primjeru klasa TestButton sadrži događaj OnClick:
// Declare the handler delegate for the event
public delegate void ButtonEventHandler();

class TestButton
{
    // OnClick is an event, implemented 
    // by a delegate ButtonEventHandler.
    public event ButtonEventHandler OnClick;

    // A method that triggers the event:
    public void Click()
    {
        OnClick();
    }
}
Klasa koja koristi objekt klase TestButton može odabrati da reagira na taj događaj i definirati metodu koja će biti pozvana da obradi događaj:
// Create an instance of the TestButton class.
TestButton mb = new TestButton();

// Specify the method that will be triggered by the OnClick event.
mb.OnClick += new ButtonEventHandler(TestHandler);

// Specify an additional anonymous method.
mb.OnClick += delegate {System.Console.WriteLine("Hello, World!");};

// Trigger the event
mb.Click();
Ovakav način interakcije objekata je tipičan za korisnička sučelja, ali je izuzetno koristan i korišten i u mnogim drugim slučajevima.

na vrh

Delegati Zaključak

 
Copyright © 2006, Mario Bošnjak