0

我正在学习 Prism 框架以及 MEF 如何与它集成...我正在以 Prism 附带的“StockTraderRI”演示解决方案为例...

当在视图模型上使用 [EXPORT] 属性时,例如:[Export(typeof(TrendLineViewModel))]

MEF 是否会在其内部结构之一中创建这些列表,以便在像这样导入时:[Import] TrendLineViewModel ViewModel 可以定位它吗?

看起来视图的导出正在做类似的事情:[ViewExport(RegionName = RegionNames.ResearchRegion)]

然后在 AutoPopulateExportedViewsBehavior 方法中使用它来注入区域中的视图..这是正确的吗?

谢谢哈罗德

4

1 回答 1

1

当您将“属性”(方括号的东西)放在类型上时,您将“元数据”附加到可以在运行时使用反射发现的类型。

配置 MEF 时,您给它一个目录,告诉它应该扫描哪些程序集以查找 [Import] 和 [Export] 元数据属性。例如,DirectoryCatalog 将让 MEF 扫描特定目录中的一组程序集/DLL。

当您要求创建/组合一个类型时,它知道如何解决该部分的创建问题,即它匹配属于同一合同的 [Import] 和 [Export]。

于 2012-07-30T19:08:14.017 回答