1

我正在寻找类似的东西:

WorkItem item = CompositeUI...GiveMeTheWorkItem(this);

我继承的代码是将根工作项注入到所有看起来有点冗长的东西中。

4

1 回答 1

2

我想我也不妨试着为你回答这个问题。根据我的经验,我不得不说您上面描述的内容在基本 CAB/SCSF 框架中不可用。

RootWorkItem 包含由您的应用程序创建以处理特定用例场景的子 WorkItem 的集合。每个 WorkItem 都包含一个智能部件集合,您可以使用 WorkItem.SmartPart 集合公开的 Get 或 Contains 方法检查 WorkItem 是否包含特定的 SmartPart。

虽然我同意你的观点,将 RootWorkItem 注入所有东西有点“啰嗦”,但如果你为你的 WorkItems 使用 WorkItemController 基类(你应该这样做),那么这是在基类中为你完成的。

作为一种可能的解决方案,您可以使用某种 FindSmartPart 方法扩展 WorkItemController 基类,该方法可以遍历 RootWorkItem 类的 WorkItem 集合并使用上述方法搜索 SmartPart。

希望有帮助。

于 2012-09-05T21:57:51.980 回答