首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用c#从控制器中搜索特定命名空间中可用的所有类?

如何使用c#从控制器中搜索特定命名空间中可用的所有类?
EN

Stack Overflow用户
提问于 2016-08-19 20:48:12
回答 2查看 48关注 0票数 1

我需要获取给定命名空间中的所有可用类。

以下是我所做的

在我的Index方法( XyzController.cs )中,我添加了这一行。

代码语言:javascript
运行
复制
var classesList = Assembly.GetExecutingAssembly().GetTypes().Where(t => t.Namespace == "PATH.TO.HAMESPACE").ToList()

不幸的是,这没有给我任何记录/课程。

但是,当我在同一个名称空间(即PATH.TO.HAMESPACE )中创建一个新类时。用同样的密码。然后从控制器调用这个类,代码返回正确的类列表。

如何从控制器运行此代码以获得PATH.TO.HAMESPACE中的所有可用类

EN

Stack Overflow用户

回答已采纳

发布于 2016-08-19 21:05:16

过高的方法,但这可能有效:

代码语言:javascript
运行
复制
AppDomain.CurrentDomain.GetAssemblies()
    .SelectMany(a => a.GetTypes())
    .Where(t => t.Namespace == "Namespace");

或者(和),您应该尝试显式加载程序集。用Assembly.LoadAssembly.LoadFrom

代码语言:javascript
运行
复制
Assembly.Load("your assembly fullname")
    .GetTypes()
    .Where(t => t.Namespace == "Namespace");
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39047442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档