title: Why use generic constraints in C#
body: <p>I've read an excellent article on MSDN regarding Generics in C#.</p>
  
  <p>The question that popped in my head was - why should i be using generic constraints?</p>
  
  <p>For example, if I use code like this:</p>
  
  <pre><code>public class MyClass&lt;T&gt; where T : ISomething
  {
  }
  </code></pre>
  
  <p>can't I switch ALL references of <code>T</code> in this class with <code>ISomething</code>?</p>
  
  <p>What's the benefit of using this approach?</p>