Managed Extensibility Framework (MEF)

Eintrag zuletzt aktualisiert am: 07.05.2015

 Fachbücher zum Thema Managed Extensibility Framework (MEF)

Generisches Dependency Injection Framework für Add-In-Programmierung
Namespace: System.ComponentModel.Composition
Alternative für Mono: Mono.Addins

Ab .NET 4.0, Open Source auch schon für .NET 3.5 (http://www.codeplex.com/MEF)
Auch für Silverlight

Es gab schon frühere Ansätze für Erweiterbarkeit in .NET:
MAF bietet gegenüber MEF allerdings den Vorteil, dass man in MAF die Erweiterungen besser von der Hauptanwendung isolieren kann. MAF-Erweiterungen können dafür in eigenen Application Domains laufen.

Details
Icontract
Klasse Contract
Client
Optionen
Lazy<Icontract>: Instanzen erst beim Zugriff erzeugt
[ImportMany]: Mehrere Assemblies mit gleichem Typ laden
Add-Ins können Metadaten in Form von Attributen bereitstellen über das Add-In