public void Increment <T2>() where T2 : IncrDecr, new() { T2 cnter = new T2(); cnter.Incr(100); counter = (T)(IncrDecr)cnter; }