using System; namespace Caliburn.Events { public class GenericEventHandler : IEventHandler { private Action _action; #region IEventHandler Members public void SetAction(Action action) { _action = action; } public void Execute(params object[] invokeArgs) { if(_action != null) _action(invokeArgs); else throw new CaliburnException("The invoker does not have a valid Action."); } #endregion public void Invoke() { Execute(); } public void Invoke(T argT) { Execute(argT); } public void Invoke(T argT, K argK) { Execute(argT, argK); } public void Invoke(T argT, K argK, U argU) { Execute(argT, argK, argU); } public void Invoke(T argT, K argK, U argU, V argV) { Execute(argT, argK, argU, argV); } } }