title: Generic type constraint in C#
body: <p>I was going through the MSDN document for the Generic type constraint and I found the following paragraph.</p>
  <p><em>You use the default constraint to specify that your derived class overrides the method without the constraint in your derived class, or explicit interface implementation. It's only valid on methods that override base methods, or explicit interface implementations:</em></p>
  <pre><code>public class D : B
  {
      // Without the &quot;default&quot; constraint, the compiler tries to override the first method in B
      public override void M&lt;T&gt;(T? item) where T : default { }
  }
  </code></pre>
  <p>I couldnt understand the part of derived class overriding the method without the constraint. Can this please be explained with an elaborated example with the value needs to be passed for T in &quot;M&quot; method?</p>