如何从给定的命名空间中获取所有方法?

时间:2009-01-02 10:29:50

标签: .net class reflection namespaces

我想要命名空间

中的所有Method-ClassName

就像我有system.windows.Forms

视觉工作室中的wehen我们操作system.windows.Forms。它将建议所有相关方法,类,枚举额外的框

我需要获取相同内容,我该怎么做才能在C#

中实现

2 个答案:

答案 0 :(得分:5)

首先,命名空间中没有方法 - 只有类型。

要从特定程序集中的一个名称空间获取所有类型,您可以使用(假设.NET 3.5为LINQ位)Assembly.GetTypes

var types = assembly.GetTypes().Where(type => type.Namespace == desiredNamespace);

然而,类型可以分布在多个程序集中。

获得类型后,可以使用Type.GetMethods检索可用的方法。使用适当的BindingFlags来获取静态/实例,公共/非公共方法等。

如果这没有帮助,请澄清问题。

答案 1 :(得分:0)

这种功能称为“反射”。

例如

http://www.codersource.net/published/view/291/reflection_in.aspx(我通过Googling发现'反射'和'C#')提到了从C#调用的相关.NET API方法。