PRISM / MEF:ModuleExportAttribute 与 ExportAttribute?
我不明白这里有什么区别,有人愿意解释 ModuleExport 与 Export 有何不同吗?
I don't understand what the difference here is, anyone care to explain how a ModuleExport is different than an Export?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ModuleExport
是一个ExportAttribute
,但具有一些附加的特定于模块的属性。如果您查看
ModuleExport
的源代码 你会发现它具有 ExportAttribute 的所有属性,再加上:所有这些都来自 接口 IModuleExport。
如果您查看
MefModuleManager 的
(负责查找模块的类),您会看到使用ImportedModules
属性IModuleExport
接口导入它们,所以这就是为什么您需要使用实现的属性IModuleExport
,而不是直接的[ExportAttribute(typeof(IModule))]
。希望这就是您正在寻找的。
ModuleExport
is anExportAttribute
, but with some additional module-specific properties.If you look at the source code for
ModuleExport
you find that it has all of the properties of an ExportAttribute, plus:All of these come from the interface IModuleExport.
If you look at the
ImportedModules
property ofMefModuleManager
(the class responsible for finding modules), you see that is imports them all using theIModuleExport
interface, so this why you are required to use an attribute implementingIModuleExport
, rather than just straight up[ExportAttribute(typeof(IModule))]
.Hope this is what you were looking for.