title: Collect a list of user classes in a project using EnvDTE
body: <p>I am having a problem creating a way to list all the classes in my project using <code>EnvDTE</code> for templating interfaces using T4 (based on naming conventions), and none of the documentation out there seems to describe how to do it.  I started out with:</p>
  
  <pre><code>&lt;#@ template debug="true" hostspecific="true" language="C#" #&gt;
  &lt;#@ output extension=".cs" #&gt;
  &lt;#@ Assembly name="EnvDTE" #&gt;
  &lt;#@ Assembly name="System.Core" #&gt;
  &lt;#@ import namespace="EnvDTE" #&gt;
  &lt;#@ Import Namespace="System.Linq" #&gt;
  &lt;#@ Import Namespace="System.Collections.Generic" #&gt;
  &lt;#
      var env = (DTE)((IServiceProvider)this.Host)
          .GetService(typeof(EnvDTE.DTE));
  </code></pre>
  
  <p>... and then I started going sideways.  I am able to identify my project, but I am not able to collect the classes in the project that I want to filter into a flat list for creating interfaces for.</p>
  
  <p>How can I do this?  I just want the classes in my project.</p>