C#根据函数名字符串去调用函数
时间: 2024-09-06 10:05:25 浏览: 77
在C#中,你可以使用反射(Reflection)功能来根据函数名字符串去调用函数。反射是一种强大的机制,它允许程序在运行时检查或修改程序的行为。通过反射,你可以在不知道类型具体信息的情况下,调用一个对象的方法或者访问其字段和属性。以下是使用反射调用方法的基本步骤:
1. 获取要调用方法所在对象的类型信息。
2. 使用 `GetMethod` 或者 `InvokeMember` 方法来获取方法信息。
3. 调用 `Invoke` 方法来执行获取到的方法。
这里有一个简单的例子:
```csharp
using System;
public class Example
{
public void MethodA()
{
Console.WriteLine("执行了MethodA");
}
}
class Program
{
static void Main()
{
Example ex = new Example();
string methodName = "MethodA";
// 获取类型信息
Type type = ex.GetType();
// 获取方法信息
MethodInfo methodInfo = type.GetMethod(methodName);
// 调用方法
methodInfo.Invoke(ex, null);
}
}
```
在这个例子中,我们首先创建了 `Example` 类的一个实例 `ex`,然后定义了一个要调用的方法名 `methodName`。通过获取 `ex` 的类型信息和使用 `GetMethod` 方法,我们得到了 `MethodA` 方法的信息,最后通过 `Invoke` 方法执行了该方法。
阅读全文