Я читаю значения из определенной памяти процесса. Допустим, что я за ними следующим образом:Запуск пользовательского события для «внешнего» изменения значения
var foo = memoryService.GetFoo();
var bar = memoryService.GetBar();
Поскольку не существует каких-либо событий для изменения памяти, я хотел бы создать пользовательские события с помощью опроса (если у вас нет каких-либо других предложений) ,
Поскольку я не знаю, когда значения могут измениться, интервал опроса должен быть установлен в соответствующее значение. Я не знаю, как на самом деле это пишу, но что-то подобное может сделать (не уверен, если он компилирует):
public class MemoryChange : INotifyPropertyChanged
{
private Timer _timer;
public SomethingChanged(double polingInterval)
{
_timer = new Timer();
_timer.AutoReset = false;
_timer.Interval = polingInterval;
_timer.Elapsed += timer_Elapsed;
_timer.Start();
}
private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
}
}
Мне нужно создать один класс, который реализует
INotifyPropertyChanged
для каждого значения (Foo ли и бар в этом случае)?Есть ли способ заставить его работать на неблокирующей нити (возможно, с помощью
Task
?)?Должен ли я использовать опрос, чтобы сделать эту работу?
Любой вход очень ценен!
Увольнение - это работа ** провайдера ** или ** отправителя **, все подписчики или слушатели не смогут активировать событие, используя «Таймер» для опроса - это другой вид прослушивания, таким образом, это не очень хорошо, но в этом случае нам, возможно, придется это сделать. –
@KingKing Да, хорошо, я не думаю о другом ... Учитывая обстоятельства – Johan