如何加载命名空间系统类?

时间:2012-03-27 15:33:13

标签: c# oop class namespaces system

我没有什么问题。我在互联网上找到了这个:

Type t = typeof(MyClass);
MethodInfo[] mi = t.GetMethods();

有没有办法如何对命名空间做同样的事情?或者有没有其他方法来获取所有具有名称和System.Type实例的类?很久以前我发现了一些关于列出图书馆的东西。请有人帮助我。

2 个答案:

答案 0 :(得分:2)

如果要获取特定命名空间中的所有类,可以执行以下操作:

var types = from type
            in AppDomain.CurrentDomain.GetAssemblies().SelectMany(a => a.GetTypes())
            where type.Namespace == "System"
            select type;

这将查看名称空间System中任何类型的所有已加载程序集。您当然可以将“系统”更改为您想要的任何其他内容,例如“System.IO”。

答案 1 :(得分:2)

您可以使用此小hack mscorlibtypeof(string).Assembly.GetTypes()程序集中获取所有类。您可以按FullNameNamespace属性进一步对其进行过滤。