1

構成バッチを使用してコンテナーからパーツを削除する場合、削除する必要があるパーツへの参照を取得するにはどうすればよいですか? コンポジトン バッチ削除メソッドは、コンポーザブル パーツを取ります。AddPart メソッドも composablepart 型パラメーターを受け取りますが、オブジェクトを受け取り、AttributedModelServices.CreatePart を使用して composablepart を取得する過負荷 (拡張メソッド) があります。コンテナーから取得した参照で AttributedModelServices.CreatePart を使用してから、それを remove メソッドに使用しようとしましたが、コンテナーから削除されませんでした。

元の AddPart 呼び出しによって返された参照を保存できますが、それはつまり、その参照をアプリケーション全体で永続化する必要があるということです。私がやりたいことではありません。コンテナのパーツをループする例を見たことがありますが、それはハッキーに思えます。

コンテナに必要なものを返すにはどうすればよいですか。

疑似コード

CompositionBatch batch = new CompositionBatch([] { Part1, Part2 }, []{});
Container.Compose(batch);

var partRef = Container.GetExport<Part2>();

batch = new CompositionBatch();
batch.RemovePart(partRef);

container.Compose(batch);
4

0 に答える 0