title: Whats happening in this Self referencing inheritance code?
body: <p>I have this code written by another programmer and I cant get my head around it</p>
  
  <pre><code>public abstract class AppBase&lt;T&gt; : IApp where T : AppBase&lt;T&gt;, new()
  {
      //
  }
  </code></pre>
  
  <p>From my understanding the <code>AppBase</code> class of type <code>T</code> implements the interface <code>IApp</code> where <code>T</code> implements ??? </p>
  
  <p>Can some one explain the last part?</p>