📜  属性 c# 获取方法名称反射 - C# (1)

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

通过属性获取方法名称反射 - C#

在C#中,我们可以使用反射来获取方法的名称。反射是一种强大的机制,它允许我们在运行时获取和操作程序集、类型和对象。

属性是C#中的一个特殊语言构造,它允许我们在类、结构和接口中定义一组属性,这些属性可以被其他代码读取和写入。

在使用反射获取方法名称时,我们通常会使用一个名为MethodInfo的类来表示该方法的详细信息。

下面是一个使用反射获取方法名称的示例:

using System;
using System.Reflection;

class Program
{
    static void Main()
    {
        // 获取方法信息
        MethodInfo method = typeof(Program).GetMethod("SayHello");

        // 获取方法名称
        Console.WriteLine("Method Name: " + method.Name);
    }

    public static void SayHello()
    {
        Console.WriteLine("Hello, World!");
    }
}

在以上示例代码中,我们首先使用typeof运算符获取Program类型的Type对象,然后使用GetMethod方法获取名为SayHello的Public方法的MethodInfo对象。

最后,我们使用Name属性获取该方法的名称,即"SayHello"。

这是返回markdown格式的代码片段。

## 通过属性获取方法名称反射 - C\#

在C#中,我们可以使用反射来获取方法的名称。反射是一种强大的机制,它允许我们在运行时获取和操作程序集、类型和对象。

属性是C#中的一个特殊语言构造,它允许我们在类、结构和接口中定义一组属性,这些属性可以被其他代码读取和写入。

在使用反射获取方法名称时,我们通常会使用一个名为`MethodInfo`的类来表示该方法的详细信息。

下面是一个使用反射获取方法名称的示例:

```csharp
using System;
using System.Reflection;

class Program
{
    static void Main()
    {
        // 获取方法信息
        MethodInfo method = typeof(Program).GetMethod("SayHello");

        // 获取方法名称
        Console.WriteLine("Method Name: " + method.Name);
    }

    public static void SayHello()
    {
        Console.WriteLine("Hello, World!");
    }
}

在以上示例代码中,我们首先使用typeof运算符获取Program类型的Type对象,然后使用GetMethod方法获取名为SayHelloPublic方法的MethodInfo对象。

最后,我们使用Name属性获取该方法的名称,即"SayHello"。