欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#多線程實現(xiàn)異步接口

 更新時間:2022年03月23日 10:15:00   作者:.NET開發(fā)菜鳥  
這篇文章介紹了C#多線程實現(xiàn)異步接口的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

異步接口的聲明

我們已經(jīng)了解到,如果一個方法是異步的,那么這個方法的返回值類型是Task<T>,那么接口中該如何規(guī)定異步方法呢?

一樣的,如果接口中的方法是異步的,那么規(guī)定方法的返回值類型是Task<T>即可,看下面的代碼:

interface ITest
{
    /// <summary>
    /// 方法的返回類型是Task<T>
    /// </summary>
    /// <returns></returns>
    Task<string> GetAsync();
}

注意:方法的前面不能添加async標(biāo)注。因為從語法上來講,接口只能定義行為,不能定義實現(xiàn),如果標(biāo)注為async,就屬于實現(xiàn)了。我們在方法前面標(biāo)注async,看看是什么效果:

我們看到,方法直接就報錯了。而接口的實現(xiàn)類中的方法可以標(biāo)注為async,也可以不標(biāo)注為async,看下面的代碼:

/// <summary>
 /// 定義接口
 /// </summary>
 interface ITest
 {
     /// <summary>
     /// 方法的返回類型是Task<T>
     /// </summary>
     /// <returns></returns>
     ///不能標(biāo)注為async
    Task<string> GetAsync();
 }

 public class Test : ITest
 {
     /// <summary>
     /// 方法不標(biāo)注為async 返回一個Task<string>類型
     /// </summary>
     /// <returns></returns>
     //public Task<string> GetAsync()
     //{
     //    return Task.Run<string>(() => 
     //    {
     //        return "2";
     //    });
     //}

     /// <summary>
     /// 方法標(biāo)注為async 直接返回一個string類型
     /// </summary>
     /// <returns></returns>
     public async Task<string> GetAsync()
     {
         return "3";
     }
 }

到此這篇關(guān)于C#多線程實現(xiàn)異步接口的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#應(yīng)用ToolStrip控件使用方法

    C#應(yīng)用ToolStrip控件使用方法

    在本篇文章里小編給大家分享了關(guān)于C#應(yīng)用ToolStrip控件使用方法和技巧,對此有興趣的朋友們學(xué)習(xí)下。
    2019-01-01
  • WPF制作帶小箭頭的按鈕完整代碼

    WPF制作帶小箭頭的按鈕完整代碼

    WPF(Windows Presentation Foundation)是微軟推出的基于Windows 的用戶界面框架。下面通過本文給大家介紹WPF制作帶小箭頭的按鈕完整代碼,需要的朋友參考下吧
    2017-12-12
  • 最新評論