mor*_*pdx 6 c# reflection unit-testing asp.net-mvc-2
我对c#中的反思有点新意.我正在尝试生成所有控制器的列表,以便测试它们是否使用特定的actionfilter进行修饰.编写单元测试时,如何访问测试的组件?
这似乎不起作用:
var myAssembly = System.Reflection.Assembly.GetExecutingAssembly();
Run Code Online (Sandbox Code Playgroud)
如果您知道主程序集中的类型,则可以使用:
private IEnumerable<Type> GetControllers()
{
return from t in typeof(MyType).Assembly.GetTypes()
where t.IsAbstract == false
where typeof(Controller).IsAssignableFrom(t)
where t.Name.EndsWith("Controller", StringComparison.OrdinalIgnoreCase)
select t;
}
Run Code Online (Sandbox Code Playgroud)
更换MyType
为已知类型。
我在基类中使用它而this.GetType()
不是typeof(MyType)
,以便我可以引用定义派生类型的程序集。
归档时间: |
|
查看次数: |
2084 次 |
最近记录: |