this will give you all the types that have an export of a certain type and contract name. This is my take on this blog http://www.codewrecks.com/blog/index.php/2012/05/08/getting-the-list-of-type-associated-to-a-given-export-in-mef/
private static IEnumerable<Type> GetExportTypes(ComposablePartCatalog catalog, Type type, string contractName)
{
return catalog.Parts.Where(
part =>
part.ExportDefinitions.Any(
e =>
e.ContractName == contractName && e.Metadata.ContainsKey("ExportTypeIdentity") &&
e.Metadata["ExportTypeIdentity"].Equals(
type.FullName))).Select(part => ReflectionModelServices.GetPartType(part).Value);
}