Getting an export from an MEF container given only a Type instance
Question
I have a scenario where I have to get an export from my CompositionContainer instance but I only have a Type to work with; I don't know the type at compile time, hence I can't retrieve the exported object in the normal generic way.
Normally you would do this:
_container.GetExportedObject<IMyType>();
But in my case, I have this:
Type someType = ... ;
_container.HowDoIGetTheExport(someType);
Any ideas?
Solution
Found the answer:
var export = _container.GetExports(someType, null, null).FirstOrDefault();
OTHER TIPS
Create the call dynamically using Type.MakeGeneric.....
http://geekswithblogs.net/marcel/archive/2007/03/24/109722.aspx
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow