国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
EventHandler 在 C# 中如何工作?
實(shí)現(xiàn) C# EventHandler 的示例
示例#2
結(jié)論
首頁 后端開發(fā) C#.Net教程 C# 事件處理程序

C# 事件處理程序

Sep 03, 2024 pm 03:28 PM
c# c# tutorial

C# 編程語言中的事件處理程序負(fù)責(zé)處理由編碼器編程的事件,以便在需要時異步執(zhí)行。每種編程語言都有其功能和局限性,而事件處理程序是正確執(zhí)行程序的重要功能之一。

我們知道發(fā)生的任何事件都是一個動作,它是另一個動作的結(jié)果,就像一個簡單的點(diǎn)擊按鈕后面的功能。委托是事件處理程序的重要組成部分,創(chuàng)建時它的目標(biāo)是事件處理程序方法。

語法:

現(xiàn)在我們已經(jīng)了解了事件處理程序是什么,讓我們繼續(xù)了解更多信息。函數(shù)或方法的語法是至關(guān)重要的部分,事件處理方法的簡單語法如下:

public delegate void SimpleEH(int a, int b);
  • 你一定注意到了 delegate 關(guān)鍵字,它是一種特殊類型,純粹代表方法。我們擁有的兩個參數(shù)是對象和 EventArgs,它們可能有不同的用途。
  • 上面這個簡單的委托有一個基本操作,即指向事件處理方法,該方法接受兩個整數(shù)參數(shù)并返回一個整數(shù)。該方法的語法可以在命名空間級別聲明,這將實(shí)現(xiàn)一個簡單的規(guī)則,即不需要在任何嵌套類中重復(fù)它。

EventHandler 在 C# 中如何工作?

我們已經(jīng)很好地了解了 C# 中的事件處理程序是什么及其各自的語法。但理解事件處理程序的工作是一個重要的部分,它有助于更??好的實(shí)現(xiàn)。程序中的每個移動或步驟都是一個事件,由事件處理程序處理。我們有一個事件處理程序方法,并且委托用于指向該方法。這里的委托可以是這五種類型中的任何類型:類、接口、結(jié)構(gòu)、枚舉和委托。

我們必須創(chuàng)建一個我們已經(jīng)通過語法學(xué)習(xí)的委托實(shí)例。我們創(chuàng)建的委托指向事件處理程序方法。? 這里,我們必須記住,.NET 中的所有 C# 事件基本上都是基于委托的。

基本上,我們必須在事件接收器中定義一個事件處理程序方法才能響應(yīng)事件。為了更好地實(shí)現(xiàn),代表事件的委托的簽名必須與我們當(dāng)前正在處理的事件的方法匹配。

實(shí)現(xiàn) C# EventHandler 的示例

以下是提到的示例:

示例#1

我們已經(jīng)了解了事件處理程序方法、它的語法及其工作原理?,F(xiàn)在我們開始實(shí)施;在這里,我們將編寫一個程序來打印版本并執(zhí)行它。

代碼:

using System;
public delegate int EHsample(int a, int b);
class Program {
static void Main() {
Adder a = new Adder();
EHsample instanceEHsample = new EHsample(a.Add);
int sampleOutput = instanceEHsample(4, 3);
Console.WriteLine("\n sampleOutput = {0}", sampleOutput);
}
}
public class Adder {
public int Add(int x, int y)
{ return x + y; }
}

輸出:

C# 事件處理程序

說明:我們只是從導(dǎo)入我們的系統(tǒng)開始。隨后是代表的聲明。我們已經(jīng)理解了我們在這里實(shí)現(xiàn)的語法。我們有兩個沒有委托的參數(shù),都是整數(shù),a 和 b。然后是我們的類Program,有main方法。我們有一個簡單的加法器,帶有一個新實(shí)例。我們在程序中進(jìn)一步創(chuàng)建了一個 Adder 類。然后我們創(chuàng)建委托實(shí)例并調(diào)用加法器實(shí)例進(jìn)行添加。然后我們簡單地傳遞了兩個值,這里是 4 和 3。最后,我們有了 print 語句,它將打印出sampleOutput =,然后將我們傳遞的兩個值相加。

然后我們有公共類 Adder,其中對我們之前傳遞的值進(jìn)行添加操作。 Add 函數(shù)接受兩個參數(shù)并返回兩者的相加,并將其傳遞給輸出。為了正確的輸出,請參考下面的截圖:

示例#2

繼續(xù),我們將在下一個示例中實(shí)現(xiàn)事件處理程序委托方法。

代碼:

using System;
public delegate void sampleEventHandler();
class Program {
public static event sampleEventHandler _show;
static void Main() {
_show += new sampleEventHandler(Event);
_show += new sampleEventHandler(Handler);
_show.Invoke();
}
static void Event() {
Console.WriteLine("\n Event");
}
static void Handler() {
Console.WriteLine("\n Handler");
}
}

輸出:

C# 事件處理程序

說明:與我們的第一個示例類似,我們使用了一個語句,然后使用了委托和帶有 main 方法的類的聲明。我們已經(jīng)展示了將新事件添加到列表中的方法實(shí)例。然后我們添加兩個事件:Event 和 Handler。為了簡單起見,我們對事件使用了 static 修飾符,這將允許在靜態(tài) Main 方法中直接訪問事件。

此外,這里使用的 += 與算術(shù)運(yùn)算無關(guān)。輸出結(jié)果請參考下面的截圖:

結(jié)論

每個事件都是一個動作,事件處理程序會正確處理該事件。我們?yōu)槲袆?chuàng)建一個實(shí)例并在需要時調(diào)用它;委托實(shí)例指向事件處理程序方法。這些事件在 Windows 窗體框架中廣泛使用,并且是事件處理程序,在線程的情況下,我們實(shí)現(xiàn) BackGroundWorker 類型。

以上是C# 事件處理程序的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

C# 中的隨機(jī)數(shù)生成器 C# 中的隨機(jī)數(shù)生成器 Sep 03, 2024 pm 03:34 PM

C# 隨機(jī)數(shù)生成器指南。在這里,我們討論隨機(jī)數(shù)生成器的工作原理、偽隨機(jī)數(shù)和安全數(shù)的概念。

C# 中的階乘 C# 中的階乘 Sep 03, 2024 pm 03:34 PM

C# 階乘指南。這里我們討論 C# 中階乘的介紹以及不同的示例和代碼實(shí)現(xiàn)。

c#多線程和異步的區(qū)別 c#多線程和異步的區(qū)別 Apr 03, 2025 pm 02:57 PM

多線程和異步的區(qū)別在于,多線程同時執(zhí)行多個線程,而異步在不阻塞當(dāng)前線程的情況下執(zhí)行操作。多線程用于計算密集型任務(wù),而異步用于用戶交互操作。多線程的優(yōu)勢是提高計算性能,異步的優(yōu)勢是不阻塞 UI 線程。選擇多線程還是異步取決于任務(wù)性質(zhì):計算密集型任務(wù)使用多線程,與外部資源交互且需要保持 UI 響應(yīng)的任務(wù)使用異步。

C# 中的質(zhì)數(shù) C# 中的質(zhì)數(shù) Sep 03, 2024 pm 03:35 PM

C# 素數(shù)指南。這里我們討論c#中素數(shù)的介紹和示例以及代碼實(shí)現(xiàn)。

C#與C:歷史,進(jìn)化和未來前景 C#與C:歷史,進(jìn)化和未來前景 Apr 19, 2025 am 12:07 AM

C#和C 的歷史與演變各有特色,未來前景也不同。1.C 由BjarneStroustrup在1983年發(fā)明,旨在將面向?qū)ο缶幊桃隒語言,其演變歷程包括多次標(biāo)準(zhǔn)化,如C 11引入auto關(guān)鍵字和lambda表達(dá)式,C 20引入概念和協(xié)程,未來將專注于性能和系統(tǒng)級編程。2.C#由微軟在2000年發(fā)布,結(jié)合C 和Java的優(yōu)點(diǎn),其演變注重簡潔性和生產(chǎn)力,如C#2.0引入泛型,C#5.0引入異步編程,未來將專注于開發(fā)者的生產(chǎn)力和云計算。

C# 中的模式 C# 中的模式 Sep 03, 2024 pm 03:33 PM

C# 模式指南。在這里,我們討論 C# 中模式的介紹和前 3 種類型,以及其示例和代碼實(shí)現(xiàn)。

xml怎么改格式 xml怎么改格式 Apr 03, 2025 am 08:42 AM

可以采用多種方法修改 XML 格式:使用文本編輯器(如 Notepad )進(jìn)行手工編輯;使用在線或桌面 XML 格式化工具(如 XMLbeautifier)進(jìn)行自動格式化;使用 XML 轉(zhuǎn)換工具(如 XSLT)定義轉(zhuǎn)換規(guī)則;或者使用編程語言(如 Python)進(jìn)行解析和操作。修改時需謹(jǐn)慎,并備份原始文件。

C# 中的回文 C# 中的回文 Sep 03, 2024 pm 03:34 PM

C# 回文指南。在這里,我們討論 C# 中回文背后的介紹和邏輯,以及各種方法及其代碼。

See all articles