我如何将此功能添加到控制台应用程序

时间:2010-01-27 15:14:11

标签: c# .net reflection assemblies console

我已经加载了一个名为'Mscorlib.dll'的程序集,我希望它列出'Mscorlib'中的所有类(它使用反射)。现在我想添加一个函数,用户可以从程序集中输入一个类,并从该类中获取所有方法。

我该怎么做呢?任何帮助都会很好

1 个答案:

答案 0 :(得分:1)

使用Assembly.GetType(type)获取相应的Type,然后使用Type.GetMethods获取其中的方法。 (请注意,采用BindingFlags的重载只会返回公共方法。)

例如(无错误检查):

Assembly mscorlib = typeof(int).Assembly;
Console.Write("Type name? ");
string typeName = Console.ReadLine();
Type type = mscorlib.GetType(typeName);
foreach (MethodInfo method in type.GetMethods())
{
    Console.WriteLine(method);
}