title: Does .NET have a built-in EventArgs<T>?
body: <p>I am getting ready to create a generic EventArgs class for event args that carry a single argument:</p>
  
  <pre><code>public class EventArg&lt;T&gt; : EventArgs
  {
      // Property variable
      private readonly T p_EventData;
  
      // Constructor
      public EventArg(T data)
      {
          p_EventData = data;
      }
  
      // Property for EventArgs argument
      public T Data
      {
          get { return p_EventData; }
      }
  }
  </code></pre>
  
  <p>Before I do that, does C# have the same feature built in to the language? I seem to recall coming across something like that when C# 2.0 came out, but now I can't find it.</p>
  
  <p>Or to put it another way, do I have to create my own generic EventArgs class, or does C# provide one? Thanks for your help.</p>