title: C# Generic overloading of List<T> : How would this be done?
body: <p>The StringBuilder class allows you, in what I consider to be a very intuitive way, to chain method calls to .Append(), .AppendFormat() and some others like so:</p>
  
  <pre><code>StringBuilder sb = new StringBuilder();
  sb.Append("first string")
    .Append("second string);
  </code></pre>
  
  <p>The List class' .Add() method, on the other hand, returns void - so chaining calls doesn't work.  This, in my opinion and the immortal words of Jayne Cobb "just don' make no kinda sense".</p>
  
  <p>I admit that my understanding of Generics is very basic, but I would like to overload the .Add() method (and others) so that they return the original object, and allow chaining.  Any and all assistance will be rewarded with further Firefly quotes.</p>