Время, прошедшее с момента последнего доступа к свойству - PullRequest
0 голосов
/ 25 мая 2018

У меня есть свойство, которое получает и задает список целых чисел, который я использую для построения диаграммы с использованием LiveCharts.

Значения передаются с внешнего аппаратного устройства.Иногда значения могут быть недоступны из-за аппаратной проблемы, во время которой никакие значения не передаются моему приложению, и поэтому свойство не запускается.Я все еще хочу отобразить значения, но как NaN.

Как я могу определить, если свойство не было доступно или установлено в моем коде, скажем, в течение 10 миллисекунд?

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Хорошо, я искал Таймер .ElapsedEventHandler служит цели, которую я искал.

0 голосов
/ 25 мая 2018

Вы можете присвоить DateTime.Now другой переменной экземпляра в установщике вашего свойства.И тогда в геттере вы можете вернуть NaN, если это значение более 10 мс.Нечто вроде ниже.

        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;
            }
        }
...