私は次のようなものを探しています:
WorkItem item = CompositeUI...GiveMeTheWorkItem(this);
私が継承したコードは、ルートの作業項目をすべてに注入していますが、これは少し長く見えます。
私は次のようなものを探しています:
WorkItem item = CompositeUI...GiveMeTheWorkItem(this);
私が継承したコードは、ルートの作業項目をすべてに注入していますが、これは少し長く見えます。
私もあなたのためにこれに答えてみたほうがいいと思いました。私の経験に基づいて、あなたが上で説明していることは基本 CAB/SCSF フレームワークでは利用できないと言わざるを得ません。
RootWorkItem には、特定のユース ケース シナリオを処理するためにアプリケーションによって作成される子 WorkItem のコレクションが含まれます。各 WorkItem にはスマート パーツのコレクションが含まれており、WorkItem.SmartPart コレクションによって公開された Get または Contains メソッドを使用して、WorkItem に特定の SmartPart が含まれているかどうかを確認できます。
RootWorkItem をすべてに注入するのは少し「長ったらしい」ことに同意しますが、WorkItems に WorkItemController 基本クラスを使用する場合 (そうするべきです)、これは基本クラスで行われます。
考えられる解決策として、RootWorkItem クラスの WorkItem コレクションをトラバースし、上記のメソッドを使用して SmartPart を検索できる、何らかの FindSmartPart メソッドを使用して WorkItemController 基本クラスを拡張することができます。
それが役立つことを願っています。