title: Rationale behind EventArgs class
body: <p>I'm learning events in C# and understand that the <code>EventArgs</code> class carries data about the event. But I am having difficulties understanding why <code>EventArgs</code> is necessary. </p>
  
  <p>For instance, in <a href="https://msdn.microsoft.com/en-us/library/9aackb16(VS.71).aspx" rel="nofollow noreferrer">this MSDN example</a>, couldn't the <code>WakeMeUp</code> class read all of the necessary data (<code>snoozePressed</code>, <code>nrings</code>) from the fields of <code>AlarmClock</code>? If it can set them, why couldn't it also get them?</p>