I use them for "communication" between different objects, as publisher and subscriber pattern.
Is some examples I see that sometimes event is declared as static and sometimes it's not:
public delegate void LogProgress(string str)
public static event LogProgress LogProgressEvent;
if (LogProgressEvent != null)
LogProgressEvent(tempString);
Why and when I need to use static?