我創建了一個類,它實現了一個System.Timers.Timer
與過去的事件。List <CustomObject>:自定義對象如何從列表中刪除自己?
private void ElapseEvent(object source, ElapsedEventArgs e){
//read from serial port device
}
在主程序中我有一個private List<MyTimerClass> _timers
。
我動態地啓動計時器並將其添加到計時器列表中。
var timer1= new MyTimerClass();
timer1.Execute("Device A");
_timers.Add(timer1);
var timer2= new MyTimerClass();
timer2.Execute("Device B");
_timers.Add(timer2);
當ElapseEvent
遇到錯誤和串行端口已斷開連接,我想從列表中刪除的計時器。我怎麼可能做到這一點?
一般來說,框架中的所有事件處理程序都有'source'參數。 'source'通常指的是事件被註冊到的對象(在你的情況下,已經過去的單個定時器)。您應該能夠將'source'投射到'MyTimerClass'的實例並從列表中移除。也就是說,假設你在課堂中遵循了框架中的模式。我們不能肯定地說,直到我們看到你如何實現它。 –