📜  C#| Type.GetMethods()方法(1)

📅  最后修改于: 2023-12-03 15:30:17.191000             🧑  作者: Mango

C# | Type.GetMethods()方法

在 C#中,Type.GetMethods()方法用于检索当前 Type 对象表示的类或接口的公共成员方法,包括从基类继承的方法。

语法
public MethodInfo[] GetMethods();
返回类型

MethodInfo[] - 包含当前 Type 对象表示的类或接口的公共成员方法的数组。

示例
using System;
using System.Reflection;

class MyClass
{
    public void Method1()
    {
    }

    public void Method2(int i)
    {
    }

    public int Method3()
    {
        return 0;
    }
}

class Example
{
    static void Main()
    {
        Type t = typeof(MyClass);
        MethodInfo[] methods = t.GetMethods();
        Console.WriteLine("{0} 方法:\n", t.FullName);
        foreach (MethodInfo method in methods)
        {
            Console.WriteLine(method.ToString());
        }
    }
}

这个例子演示了如何使用 Type.GetMethods() 方法获取 MyClass 类包含的所有公共成员方法。

输出
MyClass 方法:

Void Method1()
Void Method2(Int32)
Int32 Method3()
Void Finalize()
Int32 GetHashCode()
System.Type GetType()
System.String ToString()
Boolean Equals(System.Object)

除了类和接口之外,Type.GetMethods() 方法也可以用于获取 Enum 类型的成员方法和代理类(Delegate)的方法。

小结

Type.GetMethods() 方法提供了一种方便的方式来在运行时获取一个类或接口的所有公共成员方法。这对于需要动态处理或执行方法的某些场景非常有用,比如反射和代码生成。注意,这个方法返回的方法数组不包含私有方法或受保护的方法,如果需要获取这些方法,可以使用 Type.GetMethod() 以及一些其他的反射方法。