我有一个获取并设置整数列表的属性,我用它来使用LiveCharts绘制图表。
值正从外部硬件设备传递。有时,由于硬件问题,值可能不可用,在此期间没有值传递给我的应用程序,因此不会触发该属性。我仍想绘制值,但是为bsearch
。
如何检测我的代码中是否未访问/设置属性,例如10毫秒?
答案 0 :(得分:2)
您可以将DateTime.Now指定给属性的setter中的另一个实例变量。然后在getter中,如果该值超过10ms,则可以返回NaN。像下面的东西。
DateTime _lastUpdate;
double _value;
TimeSpan _maxInterval = new TimeSpan(0, 0, 0, 0, 10);
public double Value
{
get
{
return (DateTime.Now - _lastUpdate) <= _maxInterval ? _value : double.NaN;
}
set
{
_lastUpdate = DateTime.Now;
_value = value;
}
}
答案 1 :(得分:1)
好的,我要搜索的是Timer。 ElapsedEventHandler服务于我正在寻找的目的。