title: Generate Bare Definitions for a Project or Namespace (Visual Studio)
body: <p>In developing an SDK for use within our product, we want to provide users (developers) a Visual Studio plugin, mainly to provide them Intellisense during their development and ensure their code compiles for them. To do this, we strip the contents of all of our SDK APIs and put them all in a separate project.</p>
  
  <p>For example:</p>
  
  <pre><code>public IEnumerable&lt;string&gt; AvailableConnections(bool querySystem) {
      var connections = ConnectionList();
      if(querySystem)
          connections = connections.Concat(SystemConnections());
      ... // Filter connections somehow
      return connections;
  }
  
  public void WriteToStream(Stream strFrom, Stream strTo) {
      byte[] buffer = new byte[32 * 1024]; // 32 KiB
      int len;
      while ( (len = input.Read(buffer, 0, buffer.Length)) &gt; 0)
      {
          output.Write(buffer, 0, len);
      }    
  }
  </code></pre>
  
  <p>Becomes:</p>
  
  <pre><code>public IEnumerable&lt;string&gt; AvailableConnections(bool querySystem) { return null; }
  public void WriteToStream(Stream strFrom, Stream strTo) { }
  </code></pre>
  
  <p>My question: Does a tool exist to automate this, whether for a particular project or particular namespace? Ideally, it would intake a project or namespace and output all of the public classes/functions replacing their definitions with a simple return of the return type's default value. Visual Studio seems to do almost this when you view a class from which you don't have the source (e.g., you'll see <code>IEnumerable&lt;T&gt; [from metadata]</code>).</p>