0

我想要命名空间中的所有 Method-ClassName

就像我有 system.windows.Forms

在视觉工作室中,我们安装 system.windows.Forms。它会建议所有相关方法、类、枚举的框

我需要获取相同的,我怎么能在 C# 中做到这一点

4

2 回答 2

5

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

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

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

但是,类型可以分布在多个程序集中。

一旦你有了一个类型,你就可以使用Type.GetMethods来检索可用的方法。使用适当的 BindingFlags 来获取静态/实例、公共/非公共方法等。

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

于 2009-01-02T10:33:19.427 回答
0

这种功能称为“反射”。

例如, http://www.codersource.net/published/view/291/reflection_in.aspx(我通过谷歌搜索“reflection”和“C#”发现)提到了您从 C# 调用的相关 .NET API 方法。

于 2009-01-02T10:39:47.103 回答