日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C#多線程實現異步接口_C#教程

作者:.NET開發菜鳥 ? 更新時間: 2022-05-25 編程語言

異步接口的聲明

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

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

interface ITest
{
    /// 
    /// 方法的返回類型是Task
    /// 
    /// 
    Task GetAsync();
}

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

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

/// 
 /// 定義接口
 /// 
 interface ITest
 {
     /// 
     /// 方法的返回類型是Task
     /// 
     /// 
     ///不能標注為async
    Task GetAsync();
 }

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

     /// 
     /// 方法標注為async 直接返回一個string類型
     /// 
     /// 
     public async Task GetAsync()
     {
         return "3";
     }
 }

原文鏈接:https://www.cnblogs.com/dotnet261010/p/12344114.html

欄目分類
最近更新