我有这段代码
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]的多个实例。我有的问题是,如果多个实例同时调用此处理程序,将在何处处理。会不会有任何覆盖数据的实例。或者每个实例的事件处理程序都是独立的。
答案 0 :(得分:0)
事件处理程序单独执行。听起来你担心这个参数会被另一个对处理程序的调用所覆盖。这不会发生(我认为它甚至不可能)。由于它看起来不像您正在访问事件处理程序中的任何共享对象,因此您应该非常安全。