温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在C#中动态创建Invoke调用

发布时间:2024-10-13 08:16:42 来源:亿速云 阅读:88 作者:小樊 栏目:编程语言

在C#中,可以使用反射(Reflection)来动态创建并调用方法

  1. 首先,确保已经引用了System.Reflection命名空间。
using System.Reflection;
  1. 假设我们有一个名为MyClass的类,其中包含一个名为MyMethod的方法:
public class MyClass
{
    public void MyMethod(string message)
    {
        Console.WriteLine($"Hello, {message}!");
    }
}
  1. 现在,我们将创建一个dynamic类型的对象,并使用反射来调用MyMethod方法:
// 创建一个MyClass的实例
object myInstance = new MyClass();

// 获取MyClass类型
Type myClassType = myInstance.GetType();

// 获取MyMethod方法的Info信息
MethodInfo myMethodInfo = myClassType.GetMethod("MyMethod", BindingFlags.Public | BindingFlags.Instance);

// 创建参数数组
object[] methodArgs = new object[] { "World" };

// 使用反射动态调用MyMethod方法
myMethodInfo.Invoke(myInstance, methodArgs);

在这个例子中,我们首先创建了一个MyClass的实例,然后获取了它的类型信息。接着,我们使用GetMethod方法来查找MyMethod方法的信息。最后,我们创建了一个参数数组,并使用Invoke方法来动态调用该方法。运行这段代码,将输出Hello, World!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI