我想要命名空间
中的所有Method-ClassName就像我有system.windows.Forms
视觉工作室中的wehen我们操作system.windows.Forms。它将建议所有相关方法,类,枚举额外的框我需要获取相同内容,我该怎么做才能在C#
中实现答案 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方法。