什么是 AggregateCatalog?当您构建一个是什么意思 new AggregateCatalog()?当您将组件添加到目录中是什么意思,例如 catalog.Catalogs.Add(new AssemblyCatalog(someAssembly))?除了组件外,您可以在目录中添加什么?与此相关的任何一般知识也会有所帮助(我是一个菜鸟)

有帮助吗?

解决方案

AggregateCatalog 在MEF中,基本上允许您收集多个扩展目录。你打电话时 new AggregateCatalog(), ,您基本上正在实例化一个新的目录集合(不一定是填充),该集合可能包含多个可综合的partcatalog实例,这些实例可以包含多个部分。

将其视为可以帮助您从多组收集零件的课程。

组件只是将零件推向调用应用程序的一种方式。您可以直接从现有组件内传递零件。

有关目录的更多信息,我建议阅读 这个.

其他提示

MEF有一个小的学习曲线 - 在Mef.codeplex.com上浏览文档一次。或者如果您真的按时紧迫,请尝试屏幕截图。

想法是,目录是导出部分(要注入的对象)或需要导入的零件(需要注入对象)的字典。目录可以多种方式填充(因此, DIFF目录推导) - 从目录(DIR中的所有ASM)或特定组件。

接下来,您可以创建一个复合目录,例如要创建一个单词,该字典包含来自Dira的所有导出对象以及来自Dirb中的特定组件。在这种情况下,您可以创建单独的目录,然后创建合并两者的复合目录。现在,您在代码中使用此合并词典来要求进出口。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top