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);
}
}