亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

異步接口的聲明

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

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

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

注意:方法的前面不能添加async標(biāo)注。因?yàn)閺恼Z(yǔ)法上來(lái)講,接口只能定義行為,不能定義實(shí)現(xiàn),如果標(biāo)注為async,就屬于實(shí)現(xiàn)了。我們?cè)诜椒ㄇ懊鏄?biāo)注async,看看是什么效果:

我們看到,方法直接就報(bào)錯(cuò)了。而接口的實(shí)現(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 返回一個(gè)Task<string>類型
     /// </summary>
     /// <returns></returns>
     //public Task<string> GetAsync()
     //{
     //    return Task.Run<string>(() => 
     //    {
     //        return "2";
     //    });
     //}

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

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

相關(guān)文章

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

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

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

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

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