文使用组合批次从容器中移除部件,如何获得对需要移除的部件的引用?组合批量删除方法采用可组合部分。AddPart 方法也接受一个可组合部件类型参数,但有一个过载(扩展方法),它接受一个对象并使用 AttributedModelServices.CreatePart 来获取一个可组合部件。我尝试在从容器中获得的引用上使用 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);