{ public delegate void ChangedEventHandler(object sender, EventArgs e); class Program { private static void Main() { GenEnvent genEvent = new GenEnvent(); MonitorEvent monEvent = new MonitorEvent(genEvent); MonitorEvent monEvent2 = new MonitorEvent(genEvent); genEvent.listIt(1); Console.ReadLine(); } } class GenEnvent { public event ChangedEventHandler Changed; public int i { get; set; } protected virtual void OnChange(EventArgs e) { if (Changed != null) Changed(this, e); } public void listIt(int a) { Console.WriteLine(a); OnChange(EventArgs.Empty); } } class MonitorEvent { private GenEnvent genE; public MonitorEvent(GenEnvent gene) { genE = gene; gene.Changed += new ChangedEventHandler(workout); } private void workout(object sender, EventArgs e) { if (sender == genE) { Console.WriteLine("From registered workout {0}", sender.ToString()); } } } }
object sender
//Casting sender to GenEvent var s = sender as GenEnvent; if (s != null) { //Do your thing } //Check type of sender to be GenEvent if(sender is GenEnvent) Console.WriteLine("From registered workout {0}", sender.ToString());
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)