110,534
社区成员
发帖
与我相关
我的任务
分享
public class Bag
{
[ImportMany("测试用例")]
public IEnumerable<Action> _testcases;
}
public class ABC
{
[Export("测试用例")]
public static void test1()
{
....
}
[Export("测试用例")]
public static void test20()
{
....
}
var bg = new Bag();
var catlog = new AggregateCatalog(new DirectoryCatalog(@".\"), new DirectoryCatalog(@".\", "*.exe"));
new CompositionContainer(catlog).SatisfyImportsOnce(bg);
这时候整个项目中凡是以.dll、.exe后缀的文件中所有的标记为测试用例的方法,就被MEF自动实例化为委托并且装进bg.__testcases集合中了。你就可以随便挑一些委托(或者全部委托)来执行它们。