【问题标题】:Get all classes inside a namespace [duplicate]获取命名空间内的所有类[重复]
【发布时间】:2011-03-22 04:23:13
【问题描述】:

如何获取命名空间中的所有类?

【问题讨论】:

标签: c# .net asp.net reflection


【解决方案1】:

你不能。类不是“in”命名空间。类命名空间作为其名称的一部分。

命名空间中的类可能驻留在多个程序集中。例如,System 命名空间中的某些类型位于 mscorlib.dll 中,而其他类型位于 System.dll 中。您必须检查所有可以找到的程序集中的所有类型,以确保您已在特定命名空间“中”找到所有类型。

【讨论】:

  • 这是一个网站,用文件->新建网站创建的吗?在那种情况下,我认为你完全不走运。网站不会构建到单个程序集中 - 每页有一个(我不知道 App_Code 类进入哪个程序集)。也许你会很幸运,可以使用 Assembly.GetExecutingAssembly 找到当前程序集,对其执行 GetTypes 并遍历它们。
【解决方案2】:

正如@hawk 提到的,答案位于此处,您可以使用示例代码:

Getting all types in a namespace via reflection

【讨论】:

    【解决方案3】:

    使用Reflector 来查看它们(假设所有类都在同一个程序集中)。

    【讨论】:

      猜你喜欢
      • 2014-05-10
      • 2011-06-21
      • 2010-10-31
      • 2014-01-17
      • 2016-08-08
      • 2020-01-26
      相关资源
      最近更新 更多