Итак, я прочитал, что вместо прямого вызова события
if (SomeEvent != null)
SomeEvent(this, null);
Я должен делать
SomeEventHandler temp = SomeEvent;
if (temp != null)
temp(this, null);
Почему это так? Как вторая версия становится потокобезопасной? Какова наилучшая практика?