如何在事件引发时存储任何值
本文关键字:存储 任何值 事件 | 更新日期: 2023-09-27 18:02:54
我想测量一下从拔掉笔记本电源到电量达到10%之间的时间。
到目前为止,我已经成功地连接了事件,但我不知道在哪里可以存储时间值,以便稍后可以进行减法。
public class Program
{
public static void Main(string[] args)
{
SystemEvents.PowerModeChanged += OnPowerModeChanged;
Console.ReadLine();
}
public static void OnPowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
if (SystemInformation.PowerStatus.PowerLineStatus.ToString() == "Offline")
{
}
}
}
在这种情况下,我将使用一个成员变量来存储您想要观察的DateTimes。
public class Program
{
private static DateTime startTime;
public static void Main(string[] args)
{
SystemEvents.PowerModeChanged += OnPowerModeChanged;
Console.ReadLine();
}
public static void OnPowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
if (SystemInformation.PowerStatus.PowerLineStatus.ToString() == "Offline")
{
this.startTime = DateTime.Now();
}
}
}
使用DateTimes还取决于您想要的准确度。如果你谈论的是在几秒钟内测量任何东西,我建议使用System.Diagnostics.Stopwatch
代替。