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

Iterate all app_code types in a .Net Website project C#

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

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

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

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

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

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