C#中的Attribute如何用于實(shí)現(xiàn)異步編程

c#
小樊
84
2024-08-12 04:46:36
欄目: 編程語言

在C#中,可以使用Attribute來標(biāo)記一個(gè)方法為異步方法。通過使用asyncawait關(guān)鍵字,可以在異步方法中實(shí)現(xiàn)異步編程。

using System;
using System.Threading.Tasks;

public class Program
{
    public static async Task Main(string[] args)
    {
        await DoSomethingAsync();
    }

    [AsyncMethod]
    public static async Task DoSomethingAsync()
    {
        await Task.Delay(1000);
        Console.WriteLine("Async method completed.");
    }
}

[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
public class AsyncMethodAttribute : Attribute
{
    public AsyncMethodAttribute() { }
}

在上面的例子中,DoSomethingAsync方法被標(biāo)記為異步方法,通過asyncawait關(guān)鍵字實(shí)現(xiàn)了異步編程。在Main方法中調(diào)用DoSomethingAsync方法時(shí)使用了await關(guān)鍵字等待異步方法執(zhí)行完畢。

0