inheriting from a Forms.Timer

本文关键字:Timer Forms from inheriting | 更新日期: 2023-09-27 18:12:33

我想从一个窗体继承。定时器控件,因为我想给它添加一个方法,但是它需要在实例化时传递一个System.ComponentModel.Container给它,这需要传递给基类。

我有以下不会编译:

class Timer : System.Windows.Forms.Timer
    {
        public Timer() : base (System.ComponentModel.Container)
        {
        }
        public static bool IsTimeToActivate()
        {
            return false;
        }
    }

容器参数被标记为:

类名目前无效

我在这里错过了一些基本的理解吗?

inheriting from a Forms.Timer

如果所有你想做的是添加一个方法的计时器,我认为一个扩展方法是一个更好的解决方案:

 public static class TimerExtensions
 {
     public static MyTimerExtension(this Timer timer)
     {
         // use timer here just as any method parameter
     }
 }
 //usage
 timer1.MyTimerExtension();

你需要一个像这样的构造函数:

public Timer(System.ComponentModel.Container container) : base (container)
{
}

或者这个

public Timer() : base()
{
}