Lou*_*hys 18 .net c# mef catalog system.componentmodel
什么是AggregateCatalog
?你构建一个new AggregateCatalog()
什么意思?将程序集添加到目录中意味着什么,例如catalog.Catalogs.Add(new AssemblyCatalog(someAssembly))
?除了程序集,您可以添加到目录中吗?任何与此相关的一般知识也会有所帮助(我是一个总菜鸟)
Mef 的学习曲线很小 - 至少浏览一次 mef.codeplex.com 上的文档。或者,如果您真的时间紧迫,请尝试截屏。
这个想法是,目录是导出部件(要注入的对象)或需要导入的部件(需要注入对象)的字典。目录可以通过多种方式填充(因此是 diff Catalog 派生)——来自目录(目录中的所有 asm)或特定程序集。
接下来,您可以创建一个复合目录,例如,您要创建一个包含从 DirA 和来自位于 DirB 中的特定程序集的所有导出对象的单个字典。在这种情况下,您可以创建单独的目录,然后创建一个将两者合并的复合目录。现在您在代码中使用这个合并的字典来请求导入/导出。