我有一个情况下,在一个连续运行的线程“计时器”调用我的函数“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