如何构建在运行时设置标签的MEF?

时间:2012-10-19 20:07:45

标签: mef

我有一个带有标签的窗体。我想在运行时设置标签值,具体取决于目录中的程序集。我不确定哪个代码在哪里:

UI Form has a label.

2 class libraries that implement an interface.

Should I have another class that does the MEF composition work and do I need to call that in the constructor of the UI Form.

如果我需要在表单构造函数中调用它并且我有很多表单,这是否意味着我必须以非常的形式调用它。

1 个答案:

答案 0 :(得分:0)

我第一次在我正在开发的WPF应用程序中使用MEF,上面描述的内容是关于我如何管理我的MEF模块。

以下是我所做的总结:

  • MEF合成创建单独的类。我命名为Modules。这个类应该完成所有MEF组合。您可以在创建对象时执行合成,也可以为其创建方法。 (Modules.DoComposition()
  • 我在主UI窗口的构造函数中创建了这个Modules类的实例。此时将完成作文。 (如果您使用的是MVVM设计模式,请在ViewModel中创建。)
  • 我在任何需要访问它的其他表单的构造函数中传递对Modules对象的引用。这样,所有表单都可以访问您的Modules对象,而无需再次进行合成。