title: expose a referenced type (class) without need for additional reference
body: <p>I have a layered system of .dlls between my application, where the lowest level has a class that provides certain functionality - an instance of this class can be received through a GetClass() function and then I can access its properties (basically, a collection of information of changing objects).</p>
  
  <p>Now I noticed that when I want to access that information from the next higher level .dll, the compiler complains that I do not have the lower level .dll referenced (the one defining the class) - which actually I would want to avoid, to have a nice layered structure in my architecture.</p>
  
  <p>How to get around this? Can I re-expose the referenced type? Do I really have to write a wrapper of my own, if I want exactly the same functionality? Or do I even need to reference the low level .dll again?</p>
  
  <p>DLL 1:</p>
  
  <pre><code>class myClass;
  myClass GetMyClass();
  </code></pre>
  
  <p>DLL 2:</p>
  
  <pre><code>myClass GetMyClass();
  </code></pre>
  
  <p>EXE:</p>
  
  <p>How to access result from calling GetMyClass (DLL 2) without referencing DLL 1?</p>