溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#異步委托之委托使用的時機有哪些

發布時間:2021-11-03 13:43:59 來源:億速云 閱讀:140 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關C#異步委托之委托使用的時機有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

在我的印象里,委托經常出現在三個場合(也許更多,我水平有限)。

C#異步委托之委托使用的時機1、事件調用(最常用)。

C#異步委托之委托使用的時機2、線程調用。

C#異步委托之委托使用的時機3、同步異步調用。

事件調用(最常用)是委托用的最多的地方。我們為了使窗口之間的數據可以進行傳遞,經常會使用窗體定義事件。最常見的情況是這樣的,用戶為了查詢一個客戶,在窗體B中單擊“查詢”按鈕后,彈出一個客戶查詢窗體(這里定義為A),在A中查詢出指定的結果后,單擊“選擇”按鈕,A關閉,窗體B上就獲得了查詢的客戶信息?;谶@種情況,我們一般會在A中定義一個事件,然后會在B中寫一個當這個事件發生后調用的方法(函數)。那么怎么把A的事件和B的方法結合起來呢,這個時候就需要用到委托了。實際上,委托就是事件和方法之間的橋梁。如果大家不明白,可以看看class.designer.cs這個文件,當我們在按鈕上選擇click按鈕事件時,就會自動創建一個與之相關的委托,以及事件函數,例如。

this.btnStart.Click +=   new System.EventHandler(this.btnStart_Click);

線程調用時也需要使用委托。為什么呢?我們這么來考慮一下,線程主要表達模塊中的程序代碼的“執行事實”(深入淺出MFC)。那么線程要調用執行的函數代碼,怎么調用函數呢?這么一說,我們就知道了,委托(即函數指針)就是搭起函數和其他東西(事件、線程)之間的橋梁。所以,在線程調用時也要使用委托,通過委托連接要執行的函數。例如:

C#異步委托之委托使用的實例應用:

class Test  {  static void Main()   {  Thread newThread =   new Thread(new ThreadStart(Work.DoWork));  newThread.Start();  }  }  class Work   {  Work() {}  public static void DoWork() {}  }

以上代碼中“new Thread(new ThreadStart(Work.DoWork));”部分就是委托的部分。ThreadStart委托,它表示此線程開始執行時要調用的方法。所以,在線程調用時需要委托。

關于“C#異步委托之委托使用的時機有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女