我可能過分複雜化了,但是我一直被困住了,而且我發現自己編寫了一個真正愚蠢的解決方案來解決這個問題。C#控制被解僱的次數
這裏是場景。我有在未來數流。1,2,3,4,5,6,6,6,5,6等....
private void NotifyAlert(int p)
{
EventHandler<DataEventArgs> handler = Value;
if (handler != null)
{
handler(this, new DataEventArgs(p));
}
}
if(x > 4)
{
NotifyAlert(x);
return;
}
所以發生了什麼是事件觸發該值大於4,然後5,然後6 ...等,並在我的事件處理程序
private static void ValueAlertHandler(object sender, DataEventArgs e)
{
lock (locker)
{
if (Convert.ToInt32(e.Message) > 4)
{
SendUpdate(e.message);
}
}
}
我要的是,它只能調用SendUpdate()一次當值被擊中,但它被稱爲爲之後的每個值。 我知道我錯過了什麼,只是不知道是什麼。先謝謝你們。
編輯:澄清。我想要的是在數字超過4並且調用SendUpdate()方法一次時引發的事件。然後,如果數字低於4並再次回到4以上,則調用SendUpdate()一次。這個過程將重複。
你是說你一旦調用了SendUpdate,你就不想再次調用它了嗎? –
@BillGregg對不起,我希望它調用一次值,而不是其他值。例如(x> 4將事件稱爲方法),並且如果數字流不到4,則再次返回提升事件並僅調用該方法一次。 – Valmorgal
@Valmorgal:您可能想編輯原始帖子以反映您對需求的更改。 – sstan