0
我有此代碼C#事件處理行爲
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]的多個實例。我的問題是,如果在同一時間多個實例調用這個處理程序將如何在這裏處理。會不會有任何實例會覆蓋數據。或者事件處理程序將爲每個實例分開。
請*請*開始遵循正常的.NET命名約定。使用'm_daSubscription'對變量IMO來說已經夠糟了,但是作爲* type *名稱呢? – 2013-04-03 19:40:07
坦白地說,你需要更多的代碼才能向我們展示你想要做什麼。 'UpdateDataChangedDTO' **在這裏做什麼**?你爲什麼' - ='和'+ ='同一個事件?什麼是'20'的魔術數字?另外:命名慣例有助於混淆事物 - 請重命名它們以使事情更加清晰,所以我們可以理解,而不必爲名稱而拼命。 – 2013-04-03 19:47:19