日期:2014-05-18  浏览次数:21116 次

C#的MEF中动态删除出口的问题
小弟正在学习C#,刚看了有关MEF的一章,有一点疑问。
书上说可以动态删除出口,例如:

ComposablePart part = AttributedModelServices.CreatePart(ext);
var batch = new CompositionBatch();
batch.RemovePart(part);
container.Compose(batch);

我不太清楚这样做了之后,实际发生了些什么?程序具体做了哪些工作?这样做有什么意义?
希望有人能解答下我的问题。

------解决方案--------------------
给你举个例子吧。比如说你需要收集项目中许多的方法,然后在一个测试程序中统一地调用这些方法。可以定义一个类型
C# code
public class Bag
{
    [ImportMany("测试用例")]
    public IEnumerable<Action> _testcases;
}