代表(delegates)和c中的事件#(events in c#)的區別
C是微軟開發的一種編程語言。它支持結構化編程和麵向對象編程。委託和事件用於C中的事件驅動編程。委託是指向方法的類型安全指針。在具有圖形用戶界面(GUI)的應用程序中,有按鈕等。當單擊按鈕時,會發生某種操作。這些行為被稱為事件。例如,刷新網頁將觸發頁面加載事件。本文討論了C#中委託和事件之間的區別。C中委託和事件的關鍵區別在於,委託是對方法的引用,而事件與使用委託的事件處理程序相關聯。當事件發生時,它向代理髮送一個信號。然後委託執行相應的函數。因此,所有事件都依賴於委託。
目錄
1.概述和主要區別
2. C中的委託是什麼#
3. C語言中的事件是什麼#
4. C語言中委託與事件的相似性#
5. 並列比較-以表格形式用C#代表與事件
6. 摘要
什麼是c中的代表#(delegates in c#)?
C中的委託類似於JavaScript等其他編程語言中的回調函數。回調函數在運行時分配。它們提供的功能可以根據需要進行切換。同樣的方法也可以在C#中使用委託來實現。C中的委託將調用者和被調用函數解耦。因此,它減少了重耦合。
.NET framework將類型分為兩類。它們是值類型和引用類型。結構是值類型的一個例子。類是引用類型的示例。委託也是引用類型。委託用於保存對方法的引用。它們是類型安全指針。委託源於系統。委派班級。委託聲明類似於方法聲明,但包含關鍵字“Delegate”。委託的語法如下。delegate<;return type>;<;delegate name>;<;參數列表>;。返回類型通過方法聲明返回值。它由委託調用。參數列表定義了方法所需的參數。與學員一起參考以下程序。
根據上面的程序,calSquare和calCube方法與聲明的委託類似。在主程序中,變量cal被分配給calSquare函數。現在,cal指向calSquare方法。傳遞值時,返回平方值,並將其打印到屏幕上。同樣,cal被分配給calCube方法。現在,卡爾指的是計算方法。當值傳遞給屏幕時,返回給多維數據集。同一個委託用於引用不同的方法。因此,它增加了程序的靈活性。
什麼是c中的事件#(events in c#)?
在一個應用程序中,可以有按鍵、按鍵和鼠標移動。當這些發生時,將引發一個事件。當在提交表單中按下submit按鈕時,將在後臺引發button\u click()事件。事件調用execute關聯函數。當一個事件發生時,應用程序對此做出響應。事件處理程序中有兩個部分。發佈者包含事件和委派的定義。訂閱服務器接受事件並提供事件處理程序。
事件的聲明是event;事件聲明的類型必須是委託類型,並且委託必須與事件本身一樣可訪問。事件名稱應為有效的C名稱。
根據上述程序,創建委託和事件。在Calculate類中,有一個將兩個數字相加的方法。如果發現奇數,則會發生該事件。它是eventOddNumber()。在main方法中,eventOddNumber事件處理程序調用委託。最後,委託執行該方法。
什麼是c語言中委託與事件的相似性#(the similarity between delegates and events in c#)?
- C中的委託和事件都與事件驅動有關
代表(delegates)和c中的事件#(events in c#)的區別
C語言中的委託與事件# | |
委託是一個引用類型變量,它保存對方法的引用。 | 事件是一個委託類型的類成員,對象或類使用它向其他對象提供已發生事件的通知。 |
關鍵字 | |
使用關鍵字“delegate”聲明委託。 | 使用“event”關鍵字聲明事件。 |
附屬國 | |
代表是不可依賴的。 | 事件取決於代表。 |
總結 - 代表(delegates) vs. c中的事件#(events in c#)
委託和事件是C中與事件驅動編程相關的兩個概念。本文討論了C#中委託和事件之間的區別。C中委託和事件的區別在於,委託是對方法的引用,而事件與使用委託的事件處理程序關聯。事件取決於代表。當事件發生時,它向代理髮送一個信號。然後委託執行相應的函數