ImportImplementationsAttribute Class  
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Along with ExportImplementationAttribute enables MEF proxy pattern where a single component export serves as a proxy for the best implementation selected at run time. This pattern allows component consumers to just [Import] it, hiding the complexity of selecting one of implementations.
public ref class ImportImplementationsAttribute : System::ComponentModel::Composition::ImportManyAttributepublic class ImportImplementationsAttribute : System.ComponentModel.Composition.ImportManyAttributetype ImportImplementationsAttribute = class
    inherit ImportManyAttributePublic Class ImportImplementationsAttribute
Inherits ImportManyAttribute- Inheritance
- 
				ImportImplementationsAttribute
Examples
A typical sample:
A component contract definition:
interface IService {
    void Foo();
}
Default implementation:
[ExportImplementation(typeof(IService))]
[Name("default")]
class DefaultService : IService {...}
Another implementation:
[ExportImplementation(typeof(IService))]
[Name("A better implementation")]
[Order(Before = "default")]
class AdvancedService : IService {...}
A proxy:
[Export(typeof(IService))]
class ProxyService : IService {
   [ImportImplementations(typeof(IService))]
   IEnumerable<Lazy<IService, IOrderable>> _unorderedImplementations;
   public void Foo() {
       Orderer.Order(_unorderedImplementations).FirstOrDefault()?.Value.Foo();
   }
}
Consuming IService:
[Import]
IService service = null;
Constructors
| ImportImplementationsAttribute(Type) | Creates new ImportImplementationsAttribute instance. |