我正在寻找类似的东西:
WorkItem item = CompositeUI ... GiveMeTheWorkItem(this);
我继承的代码是将根工作项注入到看起来有点长篇大论的所有内容中。
答案 0 :(得分:2)
我想我也可以尝试回答这个问题。根据我的经验,我不得不说上面描述的内容在基本CAB / SCSF框架中不可用。
RootWorkItem包含一个子WorkItem集合,这些子WorkItem由应用程序创建以处理特定用例场景。每个WorkItem都包含一组智能部件,您可以使用WorkItem.SmartPart集合公开的Get或Contains方法检查WorkItem是否包含特定的SmartPart。
虽然我同意你的观点,将RootWorkItem注入到所有内容中有点“冗长”,如果你为WorkItems使用WorkItemController基类(你应该这样做),那么这就是在基类中完成的。
作为一种可能的解决方案,您可以使用某种FindSmartPart方法扩展WorkItemController基类,该方法可以遍历RootWorkItem类的WorkItem集合并使用上述方法搜索SmartPart。
希望有所帮助。