using System;
public class Program
{
public static void Main()
{
// 创建一个委托实例
MyDelegate myDelegate = new MyDelegate(MyMethod);
// 使用 BeginInvoke 异步调用方法
IAsyncResult result = myDelegate.BeginInvoke(5, null, null);
Console.WriteLine("BeginInvoke 已启动,主线程继续执行...");
// 等待异步操作完成
myDelegate.EndInvoke(result);
Console.WriteLine("异步操作已完成。");
}
// 定义一个委托类型
public delegate void MyDelegate(int number);
// 定义一个方法,该方法将通过委托异步调用
public static void MyMethod(int number)
{
Console.WriteLine($"MyMethod 被调用了,参数是: {number}");
}
}
MyDelegate
是一个委托类型,它封装了返回类型为 void
并带有一个 int
参数的方法。myDelegate
是 MyDelegate
类型的实例,它指向 MyMethod
方法。BeginInvoke
方法异步调用 MyMethod
,传入参数 5
,并返回一个 IAsyncResult
对象。EndInvoke
方法等待异步操作完成,并获取结果(如果有)。MyMethod
在另一个线程中执行,并输出参数信息。这种方式可以实现异步编程,使主线程不会被阻塞,适用于需要并发处理的场景。
上一篇:c#winform
下一篇:c# 序列化
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站