私は、経過イベントでSystem.Timers.Timer
を実装するクラスを作成しました。List <CustomObject>:カスタムオブジェクトがリストから自分自身を削除する方法は?
私は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'のインスタンスにキャストしてリストから削除することができます。つまり、クラス内のフレームワークのパターンに従ったと仮定します。あなたがそれをどのように実装したかを見るまで、私たちは確信を持って言えません。 –