MEF Teil 10 – Parts über ExportProvider und App.config in AppDomain laden

Der folgende Post behandelt eigentlich mehrere Themen. Zum einen geht es um das Erstellen eines eigenen ExportProviders, der über die App.config die zu ladenden Parts ausliest. Zum anderen sollen die geladenen Parts in einer eigenen AppDomain ausgeführt werden.

Continue reading “MEF Teil 10 – Parts über ExportProvider und App.config in AppDomain laden”

Benannte und optionale Parameter

Manchmal stolpert man bei C# über Leistungsmerkmale, von denen man sich wünscht, schon eher davon gehört zu haben. Ein gutes Beispiel hierfür sind benannte und optionale Parameter, die seit C# 4.0 bereitgestellt werden. Doch es lauern auch Gefahren, die man kennen sollte.

Continue reading “Benannte und optionale Parameter”

Einsatz von Lazy<T, TMetadata> ohne MEF

Im Zusammenhang mit dem Managed Extensibility Framework (MEF) sind mir zum ersten mal die Klassen Lazy<T> und Lazy<T, TMetadata> über den Weg gelaufen. Während Lazy<T> ausreichend beschrieben wird, so ist Lazy<T, TMetadata> immer nur in Zusammenhang mit MEF zu finden. Dabei kann Lazy<T, TMetadata> auch ohne MEF sinnvoll eingesetzt werden.

Continue reading “Einsatz von Lazy<T, TMetadata> ohne MEF”

MEF Teil 8 – Eigenen ExportProvider erstellen

Das Managed Extensibility Framework (MEF) kann durch verschiedene Möglichkeiten erweitert werden. Eine Variante sind eigene Export-Provider. Ein Export-Provider macht genau das, was der Name schon aussagt, er stellt Exports der Klasse CompositionContainer zur Verfügung. Wie die Exports gefunden und instanziiert werden, ist komplett unter eigener Kontrolle. Eine weitere Variante ist die Benutzung der Klasse CompositionBatch, die allerdings deutlich weniger Möglichkeiten bietet.

Continue reading “MEF Teil 8 – Eigenen ExportProvider erstellen”

.NET User Group Tour

Zu dem Thema “Managed Extensibility Framework’” werde ich in den nächsten Monaten Vorträge in verschiedenen .NET User Groups halten.

10.10.2011 .NET User Group Paderborn
19.10.2011 .NET User Group Bielefeld
03.11.2011 .NET Developers Group Berlin Brandenburg
01.12.2011 .NET User Group Regensburg
28.03.2012 .NET User Group Rhein/Ruhr

(Angaben ohne Gewähr)

Continue reading “.NET User Group Tour”

MEF Teil 7 – Exportieren über eine Class Factory

Über die Attribute Import und Export werden Objekte fest miteinander verbunden, vorausgesetzt, sie sind zueinander kompatibel. Nicht immer ist diese ‘feste’ Bindung erwünscht. Eine Class Factory kann hierbei helfen, diese starre Zuordnung aufzubrechen. Der mögliche Einsatz einer Class Factory soll durch zwei einfache Beispiele gezeigt werden.

Continue reading “MEF Teil 7 – Exportieren über eine Class Factory”

MEF Teil 6 – Constructor-Injection

Bei Constructor-Injection werden sämtliche Abhängigkeiten einer Klasse über den Konstruktor übergeben. Damit kann ein Objekt der Klasse nur erzeugt werden, wenn alle Abhängigkeiten bei der Erstellung vorhanden sind. Der Einsatz von Constructor-Injection mit dem Managed Extensibility Framework soll durch ein einfaches Beispiel vorgestellt werden.

Continue reading “MEF Teil 6 – Constructor-Injection”

MEF Teil 5 – Composition und Recomposition

Die Kataloge und Container dienen dazu, die Instanzen der Composable Parts zu erzeugen und miteinander zu binden. In den vorherigen Blogs wurde dieses Thema nicht weiter behandelt. Das soll jetzt nachgeholt werden.

Continue reading “MEF Teil 5 – Composition und Recomposition”

MEF Teil 4 – Vererbung mit Composable Parts

Klassen, welche die Attribute Import und Export enthalten, können von anderen Klassen geerbt werden. Das Verhalten vom Managed Extensibility Framework (MEF) hat hierbei einige Besonderheiten, auch in Bezug auf mögliche Metadaten. Hilfestellung bietet das Attribut InheriedExport.

Continue reading “MEF Teil 4 – Vererbung mit Composable Parts”