Ответ 1
Найден ответ:
var export = _container.GetExports(someType, null, null).FirstOrDefault();
У меня есть сценарий, когда мне нужно получить экспорт из моего экземпляра CompositionContainer, но у меня есть только тип, с которым вы работаете; Я не знаю тип во время компиляции, поэтому я не могу получить экспортированный объект обычным общим способом.
Обычно вы делаете это:
_container.GetExportedObject<IMyType>();
Но в моем случае у меня есть это:
Type someType = ... ;
_container.HowDoIGetTheExport(someType);
Любые идеи?
Найден ответ:
var export = _container.GetExports(someType, null, null).FirstOrDefault();
Создайте вызов динамически, используя Type.MakeGeneric.....
http://geekswithblogs.net/marcel/archive/2007/03/24/109722.aspx