是的,C#中的命令(Command)可以异步执行。在C#中,你可以使用async
和await
关键字来实现异步编程。以下是一个简单的示例,展示了如何使用异步命令:
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// 创建一个异步命令
var command = new Command(async () =>
{
Console.WriteLine("开始执行异步任务...");
await Task.Delay(3000); // 模拟耗时操作
Console.WriteLine("异步任务完成!");
});
// 运行异步命令
command.Execute();
Console.WriteLine("按任意键继续...");
Console.ReadKey();
}
}
// 自定义命令类
public class Command
{
private readonly Func _action;
public Command(Func action)
{
_action = action;
}
public void Execute()
{
Task.Run(_action);
}
}
在这个示例中,我们创建了一个名为Command
的自定义类,它接受一个Func
类型的参数。这个参数表示要执行的异步操作。Execute
方法使用Task.Run
来运行异步操作。
在Main
方法中,我们创建了一个异步命令,并传入一个匿名方法,该方法使用await Task.Delay(3000)
模拟耗时操作。然后我们调用command.Execute()
来运行异步命令。程序将在异步任务完成之前继续执行,并在完成后输出提示信息。