using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using System.Runtime.Remoting.Messaging;
namespace ConsoleApp1
{
internal class Program
{
public static Action<string> test = new Action<string>(Test);
static void Main(string[] args)
{
test?.BeginInvoke("testMessage", callback, "AnyObject");
Console.ReadKey();
}
public static void Test(string message)
{
for (int i = 0; i < 3; i++)
{
Console.WriteLine(message);
Thread.Sleep(1000);
}
}
private static AsyncCallback callback = ar =>
{
try
{
object asyncState = ar.AsyncState;
Console.WriteLine(asyncState);
((Action<string>)((AsyncResult)ar).AsyncDelegate).EndInvoke(ar);
Console.WriteLine("操作完成");
}
catch (Exception ex)
{
Console.WriteLine($"操作中发生异常: {ex.Message}");
}
};
}
}
C# BeginInvoke
最新推荐文章于 2024-07-24 21:58:04 发布