title: Export interfaces
body: <p>I have an interface that has a property of another interface.  Is there anyway to export/provide/include the child interface whenever the parent interface is referenced in a using.</p>
  
  <pre><code>//IBar.cs
  namespace bar
  {
      interface IBar
      {
          public int BarProp { get; set; }
      }
  }
  
  //IFoo.cs
  namespace foo
  {
      using bar
      interface IFoo
      {
          public IBar FooProp { get; set; }
      }
  }
  
  //elsewhere.cs
  namespace foo
  {
      //using bar //without this, 
      IFoo myFoo = new SomeClassThatImplementsIFoo();
      myFoo.FooProp.BarProp //&lt;-- BarProp is inaccessable here
  }
  </code></pre>
  
  <p>In elsewhere.cs, I have a reference to IFoo, but would like to be able to access elements of IBar without having to include references and a using statement to IBar.  Is there anyway to set up IFoo so that whenever it gets referenced/included, it also brings IBar along for the ride?  Something like the way <code>#include</code>s work in straight C.
  If you say "Copy and paste IBar into IFoo.cs", I'll ignore you.</p>
  
  <p>I'm guessing that since I've never seen anything that can do this, the answer is probably that you can't do this in C#.</p>
  
  <p><strong>EDIT:</strong>  The files IBar.cs and IFoo.cs are in separate assemblies<br>
  <strong>EDIT:</strong>  The interfaces are public, not the properties</p>