title: Create an interface with a method that's 'generic', but it's generic type is the implementer of the interface
body: <p>Is there any way in C# to have a generic type that is always the implementing type in an interface? Something like this:</p>
  
  <pre><code>interface Foo
  {
      this GetOtherThis();
  }
  
  class Bar : Foo
  {
      Bar GetOtherThis();
  }
  </code></pre>