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

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

C# 事件處理程序

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

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

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

文法:

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

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

EventHandler 在 C# 中如何運(yùn)作?

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

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

基本上,我們必須在事件接收器中定義事件處理程序方法才能回應(yīng)事件。為了更好地實(shí)現(xiàn),代表事件的委託的簽名必須與我們目前正在處理的事件的方法相符。

實(shí)作 C# EventHandler 的範(fàn)例

以下是提到的範(fàn)例:

範(fàn)例#1

我們已經(jīng)了解了事件處理程序方法、它的語法及其運(yùn)作方式。現(xiàn)在我們開始實(shí)作;在這裡,我們將編寫一個(gè)程式來列印版本並執(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)理解了我們?cè)谶@裡實(shí)現(xiàn)的語法。我們有兩個(gè)沒有委託的參數(shù),都是整數(shù),a 和 b。然後是我們的類別Program,有main方法。我們有一個(gè)簡單的加法器,有一個(gè)新實(shí)例。我們?cè)诔淌街羞M(jìn)一步創(chuàng)建了一個(gè) Adder 類別。然後我們建立委託實(shí)例並呼叫加法器實(shí)例進(jìn)行新增。然後我們簡單地傳遞了兩個(gè)值,這裡是 4 和 3。最後,我們有了 print 語句,它將列印出 SampleOutput =,然後將我們傳遞的兩個(gè)值相加。

然後我們有公共類別 Adder,其中對(duì)我們之前傳遞的值進(jìn)行新增操作。 Add 函數(shù)接受兩個(gè)參數(shù)並傳回兩者的相加,並將其傳遞給輸出。為了正確的輸出,請(qǐng)參考下面的截圖:

範(fàn)例#2

繼續(xù),我們將在下一個(gè)範(fàn)例中實(shí)作事件處理程序委託方法。

代碼:

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# 事件處理程序

說明:與我們的第一個(gè)範(fàn)例類似,我們使用了一個(gè)語句,然後使用了委託和具有 main 方法的類別的聲明。我們已經(jīng)展示了向清單新增事件的方法實(shí)例。然後我們加入兩個(gè)事件:Event 和 Handler。為了簡單起見,我們對(duì)事件使用了 static 修飾符,這將允許在靜態(tài) Main 方法中直接存取事件。

此外,這裡使用的 += 與算術(shù)運(yùn)算無關(guān)。請(qǐng)參閱下面的輸出螢?zāi)唤貓D:

結(jié)論

每個(gè)事件都是一個(gè)動(dòng)作,事件處理程序會(huì)正確處理該事件。我們?yōu)槲殑?chuàng)建一個(gè)實(shí)例並在需要時(shí)呼叫它;委託實(shí)例指向事件處理程序方法。這些事件在 Windows 窗體框架中廣泛使用,並且是事件處理程序,在執(zhí)行緒的情況下,我們實(shí)作 BackGroundWorker 類型。

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

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

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版

神級(jí)程式碼編輯軟體(SublimeText3)

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

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

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

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

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)級(jí)編程。 2.C#由微軟在2000年發(fā)布,結(jié)合C 和Java的優(yōu)點(diǎn),其演變注重簡潔性和生產(chǎn)力,如C#2.0引入泛型,C#5.0引入異步編程,未來將專注於開發(fā)者的生產(chǎn)力和雲(yún)計(jì)算。

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

C# 質(zhì)數(shù)指南。這裡我們討論c#中素?cái)?shù)的介紹和範(fàn)例以及程式碼實(shí)作。

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

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

xml怎麼轉(zhuǎn)換成json xml怎麼轉(zhuǎn)換成json Apr 03, 2025 am 09:09 AM

將 XML 轉(zhuǎn)換為 JSON 的方法包括:使用編程語言(如 Python、Java、C#)編寫腳本或程序進(jìn)行轉(zhuǎn)換;使用在線工具(如 XML 轉(zhuǎn)換為 JSON、Gojko's XML 轉(zhuǎn)換器、XML 在線工具)粘貼或上傳 XML 數(shù)據(jù)並選擇 JSON 格式輸出;使用 XML 到 JSON 轉(zhuǎn)換器(如 Oxygen XML Editor、Stylus Studio、Altova XMLSpy)執(zhí)行轉(zhuǎn)換任務(wù);使用 XSLT 樣式表將 XML 轉(zhuǎn)換為 JSON;使用數(shù)據(jù)集成工具(如 Informatic

c#多線程編程是什麼  c#多線程編程用處 c#多線程編程是什麼 c#多線程編程用處 Apr 03, 2025 pm 02:45 PM

C# 多線程編程是一種讓程序同時(shí)執(zhí)行多項(xiàng)任務(wù)的技術(shù),它可以通過提升性能、提高響應(yīng)能力和實(shí)現(xiàn)並行處理來提高程序效率。雖然 Thread 類提供了直接創(chuàng)建線程的方法,但 Task 和 async/await 等高級(jí)工具可以提供更安全的異步操作和更簡潔的代碼結(jié)構(gòu)。多線程編程中常見的難題包括死鎖、競態(tài)條件和資源洩漏,需要仔細(xì)設(shè)計(jì)線程模型和使用適當(dāng)?shù)耐綑C(jī)制來避免這些問題。

xml如何轉(zhuǎn)化為word xml如何轉(zhuǎn)化為word Apr 03, 2025 am 08:15 AM

有三種將 XML 轉(zhuǎn)換為 Word 的方法:使用 Microsoft Word、使用 XML 轉(zhuǎn)換器或使用編程語言。

See all articles