Что-то, что меня смущает, но никогда не вызывало никаких проблем... рекомендуемый способ отправки события:
public event EventHandler SomeEvent;
...
{
....
if(SomeEvent!=null)SomeEvent();
}
В многопоточной среде, как этот код гарантирует, что другой поток не изменит список вызовов SomeEvent
между проверкой на нуль и вызовом события?