C# 反射对象方法
时间: 2023-07-27 22:23:34 浏览: 120
c# 中 反射的用法
4星 · 用户满意度95%
在 C# 中,可以使用反射机制来获取一个对象的方法,然后在运行时调用这些方法。以下是一个简单的示例:
```csharp
using System;
using System.Reflection;
public class MyClass
{
public void MyMethod(int x, string y)
{
Console.WriteLine($"x = {x}, y = {y}");
}
}
public class Program
{
public static void Main()
{
// 创建 MyClass 对象
MyClass obj = new MyClass();
// 获取 MyMethod 方法信息
MethodInfo method = typeof(MyClass).GetMethod("MyMethod");
// 调用 MyMethod 方法
object[] parameters = new object[] { 123, "abc" };
method.Invoke(obj, parameters);
}
}
```
在这个示例中,我们首先定义了一个 MyClass 类,其中包含一个名为 MyMethod 的方法。然后,在 Main 方法中,我们使用 typeof(MyClass).GetMethod("MyMethod") 获取 MyMethod 方法的信息,然后使用 method.Invoke(obj, parameters) 调用 MyMethod 方法,并传递参数 123 和 "abc"。
需要注意的是,在使用反射调用方法时,需要传递一个 object[] 类型的参数数组,其中包含方法的参数列表。如果方法没有参数,则可以传递一个空的 object[] 数组。
希望这个示例能够帮助您理解如何使用反射机制获取对象的方法。
阅读全文