问题
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?
回答1:
Found the answer:
var export = _container.GetExports(someType, null, null).FirstOrDefault();
回答2:
Create the call dynamically using Type.MakeGeneric.....
http://geekswithblogs.net/marcel/archive/2007/03/24/109722.aspx
来源:https://stackoverflow.com/questions/1037795/getting-an-export-from-an-mef-container-given-only-a-type-instance