目录(Catalogs)编程
MEF 特性编程模型的核心价值,拥有经过目录动态地发现部件的能力。目录容许应用程序轻松地使用那些经过 Export Attribute 注册自身的导出。下面列出 MEF 提供的目录。
var catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly());
var catalog = new DirectoryCatalog("Extensions");
var catalog = new DirectoryCatalog("Extensions"); // 实现扫描的逻辑 catalog.Refresh();
var catalog = new AggregateCatalog( new AssemblyCatalog(Assembly.GetExecutingAssembly()), new DirectoryCatalog("Extensions"));
var catalog = new TypeCatalog(typeof(type1), typeof(type2), ...);
var catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly()); var container = new CompositionContainer(catalog);