迭代.Net网站项目C#中的所有app_code类型

时间:2017-10-23 10:32:24

标签: c# .net-assembly

从后面的代码(我知道......)我试图创建一个实现特定接口的类型列表。这些类型位于网站项目app_code文件夹中。

网站项目动态编译成多个程序集,这意味着例如Assembly.GetCurrentlyExecutingAssembly()和类似的调用,例如。GetType().Assembly不包含我正在寻找的类型。除了使用大锤方法获取AppDomain.CurrentDomain.GetAssemblies()的核桃之外,还有一些方法只迭代网站项目中定义的类型吗?

当然,我可以将所有这些功能转移到一个单独的项目中,它的行为更具可预测性,但目前这个重构太过分了。

1 个答案:

答案 0 :(得分:1)

从代码隐藏文件中,您应该能够执行以下代码行,仅枚举从app_code文件夹下的类编译的类型。

假设IViusalizationManager是app_code文件夹下的一个类:

Type[] app_codeTypeList = typeof(IViusalizationManager).Assembly.GetTypes();