c# - 获取系统命名空间中的所有类型
问题描述
我想打印 和 的所有using System
类using System.Text
。
我写了这段代码:
static void Main(string[] args)
{
string nspace = "System.Text";
var q = from t in Assembly.GetExecutingAssembly().GetTypes()
where t.IsClass && t.Namespace == nspace
select t;
q.ToList().ForEach(t => Console.WriteLine(t.Name));
Console.ReadLine();
}
我编写的命名空间中的这段代码工作正常,但在System
命名空间中它不起作用并且什么也不打印。
解决方案
如果要对所有加载的程序集进行概括,可以像这样迭代所有加载的程序集:
public static void Main()
{
string nspace = "System.Text";
foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
{
foreach (var type in assembly.GetTypes().Where(t => t.IsClass && t.Namespace == nspace))
{
Console.WriteLine(type.FullName);
}
}
}
如果您只想从特定程序集中选择类型,那么 /u/HimBromBeere 发布了一个更好的方法。
推荐阅读
- php - 抽象实体子类的学说标准
- python - Pandas 'dupout' 如何查看已删除的重复文件
- r - R-textminig 与 tm 包
- c# - c# [OnPrem CRM] 中的 Dynamics crm retrieveEntityReq (Javascript) 函数
- squid - 带有 SSLbump 和身份验证 403 的 Squid。这是一个封装的请求,不进行身份验证
- ios - 无法设置收集单元
- angular - ng2-chart 仅在光标位于某个位置时刷新
- selenium - Nightwatch 没有获取 sendkeys 值
- xml - 使用 XSLT 提取和更新 XML
- android - 在基于 MVVM 的应用程序中添加 Room Database 类会产生绑定问题