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

C# 在运行时获取目标类的所有方法,c#,methods,runtime,C#,Methods,Runtime,除了解析该类的所有文档之外,是否有其他方法可以让我在运行时以字符串数组的形式返回目标类的所有方法的列表?我想模拟一些IDE在有人键入代码段时对方法的建议 因此,一种工作(理想情况下)如下的方法: getMethods(foo.GetType()) 我会得到一个foo方法的列表。您是否正在尝试实现自动完成功能?使用一个已经做到这一点的库,而不是重新发明轮子。除非我已经知道可能自动完成的方法,否则我无法实现自动完成功能。除非您谈论的库已经内置了这些库,否则您可以使用反射来获取类型上可用的方法。查看是

除了解析该类的所有文档之外,是否有其他方法可以让我在运行时以字符串数组的形式返回目标类的所有方法的列表?我想模拟一些IDE在有人键入代码段时对方法的建议

因此,一种工作(理想情况下)如下的方法:

getMethods(foo.GetType())


我会得到一个foo方法的列表。

您是否正在尝试实现自动完成功能?使用一个已经做到这一点的库,而不是重新发明轮子。除非我已经知道可能自动完成的方法,否则我无法实现自动完成功能。除非您谈论的库已经内置了这些库,否则您可以使用反射来获取类型上可用的方法。查看是否。你不必手动写这个。您的搜索关键字是“代码完成C#”
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();
        }
    }
}