我有一個情況下,在一個連續運行的線程「計時器」調用我的函數「custommethod」。我無法控制系統代碼,這僅僅是爲了演示系統如何工作,我甚至不知道哪些代碼已被寫入系統代碼。如何檢測是否在這種情況下刪除項目
系統代碼
timer duration = 1000
void timer_elapsed()
{
foreach(string symbol in symbols) //symbol list may vary
{
custommethod(symbol);
}
}
端系統代碼
所以,我的方法 「custommethod」 剛剛獲得由系統代碼的參數週期性。當用戶添加或刪除由系統代碼處理的符號時,符號列表可能會有所不同。我所得到的是週期性的活動符號。所以,我關心的是保留一個活動符號列表。
我的代碼
function custommethod(string symbol)
{
//Check whether new symbol is added or a symbol is deleted
}
結束我的代碼
這是我到目前爲止已經試過
HashTable ht=new HashTable();
function custommethod(string symbol)
{
//Check whether new symbol is added or a symbol is deleted
if(!ht.ContainsKey(symbol))
{
ht.Add(symbol,0); //New symbol added
}
//How will i come to know whether a symbol is deleted or not
}
有沒有辦法讓你知道timer_elapsed是否已經發生? –
計時器是否總是1秒?如果是這樣,您可以存儲DateTime.Now,您將該符號輸入到HashTable中,然後檢查每次獲取新符號時是否過期。 – ChrisO
實際上我沒有發送消息給使用Windows消息傳遞的系統代碼,而消息傳遞又調用了具有活動符號的自定義方法功能 – Tuscan