プーリングメカニズムによって常に状態を監視するシステムを実行しています。状態が別の状態に移行したら、さらに処理するために何かを行います。
私が思いついたのは、状態遷移に依存する EventHandler です。しかし、状態遷移を特定するには多くの条件が考えられることがわかりました。
(例: 初期 -> オン、オン -> オフ、オン -> 維持、維持 -> オン、...)
この問題を改善する良い方法はありますか? または何か提案はありますか?ありがとう!
class StateMonitor
{
public delegate void Mydelegate();
public event Mydelegate SomethingHappened;
public string _state;
public StateMonitor()
{
SomethingHappened += new Mydelegate(monitor);
_state = "Initial";
}
public string state
{
get
{
return this._state;
}
set
{
string temp = value;
if (SomethingHappened != null)
{
if(this.state =="Initial" && temp =="On") //state transition
SomethingHappened();
}
}
}
public void monitor()
{
Console.WriteLine("Happened");
}
}