继承自Forms.Timer

时间:2011-10-28 07:44:09

标签: c# .net winforms windows-services

我想继承一个Forms.Timer控件,因为我想向它添加一个方法,但是它需要在实例化时传递给它一个System.ComponentModel.Container,这需要传递给基类

我有以下内容无法编译:

class Timer : System.Windows.Forms.Timer
    {

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

        }

        public static bool IsTimeToActivate()
        {
            return false;
        }
    }

将Container参数标记为:

  

此时类名无效

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

2 个答案:

答案 0 :(得分:3)

如果您只想为计时器添加方法,我认为extension method是更好的解决方案:

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

 //usage

 timer1.MyTimerExtension();

答案 1 :(得分:2)

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

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

或者这个

public Timer() : base()
{
}