namespace ET { public abstract class ATimer: IAction where T: class { public void Handle(object a) { this.Run(a as T); } protected abstract void Run(T t); } }