0

我有这个代码

List<DaSubscription> lstSubscription=new List<DaSubscription>();

for(int i=0;i<20;i++)//20 is just to simulate the behavior
{

    DaSubscription Generic=new DaSubscription();
    Generic.DataChanged += new DataChangedEventHandler(Generic_DataChanged);
    lstSubscription.add(Generic);
}

//EVENT Handler which is raised from a 3rd party library [COM]                 

void Generic_DataChanged(DaSubscription aDaSubscription, DaItem[] items, ValueQT[] values, int[] results)
{
   UpdateDataChangedDTO(items, values);
}

由于相同的事件处理程序 [m_daSubscription_Generic_DataChanged] 被分配给同一类 [m_daSubscription] 的多个实例。我的问题是,如果多个实例同时调用这个处理程序,这里将如何处理。是否会有任何实例覆盖数据。或者事件处理程序对于每个实例都是分开的。

4

1 回答 1

0

事件处理程序单独执行。听起来您担心参数被另一个处理程序调用覆盖。那不会发生(我认为这甚至不可能)。由于看起来您没有访问事件处理程序中的任何共享对象,因此您应该非常安全。

于 2013-04-03T19:52:34.587 回答