在运行时获取目标类的所有方法

时间:2015-04-01 15:58:14

标签: c# methods runtime

除了解析该类的所有文档之外,有没有办法在C#中以运行时的字符串数组的形式返回目标类的所有方法的列表?我想模仿一些IDE在建议方法时所做的事情,因为有人输入了代码段。

这样一种方法(理想情况下)就像这样:

的getMethods(foo.GetType())

我将返回一个foo方法列表。

1 个答案:

答案 0 :(得分:0)

using System;
using System.Linq;

namespace ConsoleApplication1
{
    class SomeClass
    {
        public void A() { }
        public void B() { }
        public void C() { }
        public void D() { }
        public void E() { }
        public void F() { }
    }

    class Program
    {
        static void Main()
        {
            var methods = GetMethods(typeof (SomeClass));

            foreach (var methodName in methods)
            {
                Console.WriteLine(methodName);
            }
        }

        private static string[] GetMethods(Type type)
        {
            var methods = type.GetMethods();
            return methods.Select(m => m.Name).ToArray();
        }
    }
}