title: Is there something like an interface to declare function naming only, without parameters and/or return types?
body: <p>I'm only just starting with interfaces and I am wondering if there is a concept to handle a situation I've come across where I'd like to implement a common interface with functions that return the type of the class that implemented the interface.</p>
  
  <p>Is there such a feature, or conceptual way to achieve this? Without passing in the type with every call?</p>
  
  <p>Something conceptually along the lines of...</p>
  
  <pre><code>Interface IFoo
  
      Function GiveMeSomething(of T)() As T
  
  End Interface
  
  Public Class MyFoo
      Implements IFoo
  
      Public Function GiveMeANewFoo(Of T)() As T Implements IFoo.GiveMeSomething
          return new T
      End Function
  
  End Class
  </code></pre>
  
  <p>And then usage....</p>
  
  <pre><code>Dim oldFoo as new MyFoo()
  Dim newFoo As MyFoo = oldFoo.GiveMeANewFoo()
  </code></pre>