MEF example code,mefexamplecode
public interface IObjectResolver
{
}
public class ObjectResolver:IObjectResolver
{
private CompositionContainer container;
public ObjectResolver()
{
container = new CompositionContainer(new AggregateCatalog());
}
public void AddCatalogFile(string fileName)
{
if (!File.Exists(fileName))
throw new FileNotFoundException();
AggregateCatalog catalog = (AggregateCatalog)container.Catalog;
catalog.Catalogs.Add(new AssemblyCatalog(fileName));
container.ComposeParts();
}
public T GetExport<T>(string name)
{
return container.GetExportedValue<T>(name);
}
}