René Nyffenegger's collection of things on the web
René Nyffenegger on Oracle - Most wanted - Feedback
 

Events in .net

using System;

public class M_Args : EventArgs {
  private readonly String s_;
  private readonly int    i_;

  public M_Args(String s, int i) {
    s_ = s;
    i_ = i;
  }

  public String s {
    get { 
      return s_;
    }
  }

  public int i {
    get {
      return i_;
    }
  }
}

public delegate void H (object sender, M_Args a);

public class Empfaenger {

  public void Handler(object sender, M_Args a) {
    System.Console.WriteLine("Handler: {0} {1}", a.s, a.i);
  }
};


public class Sender {
  public event H HandleIt;

  public virtual void Senden(M_Args a) {
     HandleIt(this, a);
  }


}


public class M {
  Empfaenger e_;
  Sender     s_;

  public static void Main() {
    M m = new M();
    m.Start();
  }

  public void Start() {
    e_ = new Empfaenger();
    s_ = new Sender();

    s_.HandleIt += new H(e_.Handler);

    Fire_M();
  }

  private void Fire_M() {
    M_Args a = new M_Args("Hallo",42);
    s_.Senden(a);
  }
}