MEF如何在部件创建策略未共享时获取先前的实例

时间:2012-06-12 06:59:38

标签: c# unit-testing mef

我的计划中有ItemListViewModelItemDefViewModelItemDefViewModel将处理编辑项目中的任何数据,而ItemListViewModel类提供概述并提供实例化新ItemDefViewModel的命令。 我正在测试,我已经测试了ItemDefViewModel没有太多麻烦。我正在使用MEF并创建ItemDefViewModelCreationPolicy为非共享。 ItemListViewModel在内部通过容器获取新ItemDefViewModel,并在执行添加新项的命令时调用AddItem函数。更改此新项目的数据是在ItemDefViewModel中完成的,但由于其创建策略,我无法处理它。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您需要在某处保留ItemDefViewModel的实例(正如@JohnPolvora已经注意到您已经在ItemListViewModel中执行的那样)。

如果您不能这样做,则需要保留该视图模型的状态,并在应用更改之前将其还原回ItemDefViewModel的新实例。