.net Pattern fuer Event Implementierung

AUTHOR:

Hallo beisammen,
bin gerade auf einen interessanten Artikel bei devlicio.us gestossen.

Dort wird über die Implemetierung von Events gesprochen, im konkreten Fall wie man sich die Abfrage auf null sparen kann und ohne diese sogar performanter sein soll.

Hier noch ein weiterer Link zum Thema, mit weiterführenden Links, auf www.dev102.com.

Was denkt ihr darüber?
Lg Oli

EDIT: Uiui, wer lesen kann. ;) Die pruefung auf null ist schneller als das initialisieren.

3 comments on “.net Pattern fuer Event Implementierung

  1. ich finde diese Syntax cool
    public event EventHandler Updated = delegate { };

    protected void UpdatePrice(string tickerSymbol, decimal newPrice, long newVolume)
    {
    _priceList[tickerSymbol] = newPrice;
    _volumeList[tickerSymbol] = newVolume;

    Updated(this, new MarketFeedEventArgs(tickerSymbol, newPrice, newVolume));
    }

    Hat aber den Nachteil aus meiner Sicht das man das OnUpdated nicht hat und damit auch nicht überladen kann.

  2. Sry, haette ich dazu schreiben sollen.

    Die Methode OnUpdated kann trotzdem implementiert werden.

    protected void OnUpdated (object sender, EventArgs e)
    {
    //if (OnOnUpdatedEvent != null) //das kann man sich dann sparen
    OnOnUpdatedEvent(this, e);
    }

  3. Im Artikel auf die Kommentare achten!!
    Der “Ghost” delegate macht das ganze langsamer und jedes neue “Ghost” delegate das man erzeugt braucht speicher!

    Wem die Geschwindigkeit egal ist sollte wenigstens am einen
    Delegate ghostDelegate = delegate {};
    event bla1 = ghostDelegate;
    event bla2 = ghostDelegate;

    machen um wenigsten speicher zu sparen.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>