使用Timer知道对象的年龄

时间:2010-08-01 15:28:17

标签: c#

我正在写一个名为Food的课程。我考虑了一个字段“int cookingTime”来查看这个类的每个实例已存在多长时间。我以为我应该使用Timer类。我写了下面的一段代码,但它没有用。我不确定我的方法是否正确。我真的很感激任何帮助。

Class Food
{ 

    private System.Timers.Timer timerClock = new System.Timers.Timer();

    static int cookingTime = 0;

    public Food()
       {

           this.timerClock.Elapsed += new System.Timers.ElapsedEventHandler(process);
           this.timerClock.Interval = 1000;
           this.timerClock.Enabled = true;

    }

    static void process(Object myObject, EventArgs myEventArgs)
    {

        cookingTime += 1;
    }

}

2 个答案:

答案 0 :(得分:5)

如何保存对象创建的时间戳?当你想知道对象存在多长时间时,只需从Now()中减去它。

答案 1 :(得分:1)

为什么不使用System.Diagnostics.Stopwatch

class Food
{
    private readonly Stopwatch _stopwatch = Stopwatch.StartNew();

    public TimeSpan CookingTime
    {
        get { return _stopwatch.Elapsed; }
    }
}

我注意到您的cookingTime字段是静态的。如果你在某种程度上总计了多种食物的时间,那么你可能会保留一份列表(静态或其他)的秒表,当你需要知道总时间时,你可以将它们全部加在一起。