我想打印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发布了一种更好的方法。