public static void Call <N>(object sender, EventHandlerTypes type, int?group, N data) { SharedEventArgs arg = new SharedEventArgs(data); var events = from h in handlers where h.Value.First == type && ([email protected] || h.Value.Second == (int)@group) select h.Value.Third; foreach (var ev in events) { ev(sender, arg); } }
public static void Call <N>(object sender, EventHandlerTypes type, int?group, N data) { SharedEventArgs arg = new SharedEventArgs(data); var invalid = from h in handlers where h.Value.Third.Target == null select h.Key; foreach (var inv in invalid.ToList()) { handlers.Remove(inv); } var events = from h in handlers where h.Value.First == type && ([email protected] || h.Value.Second == (int)@group) select h.Value.Third; foreach (var ev in events.ToList()) { ((Action <object, SharedEventArgs>)ev.Target)(sender, arg); } }
public static void Call <N>(object sender, EventHandlerTypes type, int?group, N data) { SharedEventArgs arg = new SharedEventArgs(data); var invalid = from h in handlers where h.Value.Third.Target == null select h.Key; // removing expired weak references foreach (var inv in invalid.ToList()) { handlers.Remove(inv); } // selecting handlers of classes of this group var events = from h in handlers where h.Value.First == type && ([email protected] || h.Value.Second == (int)@group) select h.Value.Third; foreach (var ev in events.ToList()) { // this converts the weakReference target to the real method and executes it ((Action <object, SharedEventArgs>)ev.Target)(sender, arg); } }
private void SetVacationWeeksTable(object sender, SharedEventArgs e) { vacationWeeksTable = e.GetData <Dictionary <int, int> >(); }
void hexagonLayerOnOff_VisibilityChanged(object sender, SharedEventArgs e) { HexLayerVisibilityChanged(this, e); }
void lawLayerOnOff_VisibilityChanged(object sender, SharedEventArgs e) { ArgentineLawLayerLayerVisibilityChanged(this, e); }
//Other Layers void lawLayerOnOff_VisibilityChanged(object sender, SharedEventArgs e) { ArgentineLawLayerLayerVisibilityChanged(this, e); }
void reportWindow_Shared(object sender, SharedEventArgs e) { Shared(sender, e); }