1

私は次のようなものを探しています:

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

私が継承したコードは、ルートの作業項目をすべてに注入していますが、これは少し長く見えます。

4

1 に答える 1

2

私もあなたのためにこれに答えてみたほうがいいと思いました。私の経験に基づいて、あなたが上で説明していることは基本 CAB/SCSF フレームワークでは利用できないと言わざるを得ません。

RootWorkItem には、特定のユース ケース シナリオを処理するためにアプリケーションによって作成される子 WorkItem のコレクションが含まれます。各 WorkItem にはスマート パーツのコレクションが含まれており、WorkItem.SmartPart コレクションによって公開された Get または Contains メソッドを使用して、WorkItem に特定の SmartPart が含まれているかどうかを確認できます。

RootWorkItem をすべてに注入するのは少し「長ったらしい」ことに同意しますが、WorkItems に WorkItemController 基本クラスを使用する場合 (そうするべきです)、これは基本クラスで行われます。

考えられる解決策として、RootWorkItem クラスの WorkItem コレクションをトラバースし、上記のメソッドを使用して SmartPart を検索できる、何らかの FindSmartPart メソッドを使用して WorkItemController 基本クラスを拡張することができます。

それが役立つことを願っています。

于 2012-09-05T21:57:51.980 に答える