title: Attribute like InheritedExport in Constructor in MEF
body: <p>I am developing an open ended application and I am new to MEF. I need to hide MEF totally from derived classes. So here is my scenerio.</p>
  
  <p>I have a BaseAssembly</p>
  
  <pre><code>public class ListContainer
  {
      [ImportMany(typeof(IBase))]
      public List&lt;IBase&gt; MyObjects { get; set; }
  
      public void AssembleDriverComponents()
  {
       .... Some code to create catalogue..
       //Crete the composition container
          var container = new CompositionContainer(aggregateCatalog);
  
          // Composable parts are created here i.e. the Import and Export components assembles here
          container.ComposeParts(this);
  }
  }
  
   [InheritedExport(typeof(IBase))]
  public abstract class Base : IBase
  {
      private IInfoBase infoBase;
  
      //This is something which I want to do. If I have a derived class from Base. 
        Then It does not need to use ImportingConstructor.
      [ImportingConstructor()]
      public Base(InfoBase nfoBase)
      {
          this.infoBase = infoBase;
      }
  }
  
  [InheritedExport(typeof(IInfoBase))]
  public interface IInfoBase
  {
      string Category { get; set; }
  }
  
  
  public class InfoBase : IInfoBase
  {
  
      public string Category
      {
          get;
          set;
      }
  }
  </code></pre>
  
  <p>Other assemblies will refer to base assembly.</p>
  
  <p>ReferenceAssembly will have</p>
  
  <pre><code>public class Derived : Base
  {
      public Derived(BaseInfo info)
          : base(info)
      {
          info.Category = "CategoryA";
      }
  }
  </code></pre>
  
  <p>In this case MEF is not creating the object for derived one.</p>
  
  <p>In summary, I need something like InheritedExport for ImportingConstructor also.</p>