title: When should we use event in C#
body: <p>I am a newbie of C# and WPF. And I just learned the asynchronous programming in C#.
  We raise event and some where we catch this event.</p>
  
  <p>The advantage of this method is we don't need to call directly the object method. Example we load data from database, then after load data method is finish, it raise the event <code>LoadDataSuccessfully</code>
  Then the main class catch this event and raise event <code>UpdateGUIAfterLoadDataSuccessfully</code>, some other Control will catch this event and update GUI.</p>
  
  <p>But now I think may be... I use it too much in my project, may be i overuse it too much.
  Please give me some advices, when we should use Event and when we should do the traditional way.</p>