C#中的委托和事件
一、定義委托
delegate void StudentDelegate();//【1】定義一個(gè)委托
二、定義一個(gè)調(diào)用和定義事件的類(lèi)
/// <summary>
///定義事件和調(diào)用 事件一定要放在一個(gè)類(lèi)里面
/// </summary>
class InvokeDefine //【2】定義一個(gè)調(diào)用和定義事件的類(lèi)
{
public event StudentDelegate StudentEvent;
public void Invoke()
{
StudentEvent?.Invoke();//?.Null檢查運(yùn)算符
}
}三、訂閱者
class EventFunction //【3】訂閱者
{
public void Student1()
{
Console.WriteLine("我是訂閱者1");
}
public void Student2()
{
Console.WriteLine("我是定訂閱者2");
}
}四、訂閱事件
static void Main(string[] args)
{
EventFunction eventFunction = new EventFunction();
InvokeDefine invokeDefine = new InvokeDefine();
invokeDefine.StudentEvent += eventFunction.Student1;//【4】訂閱事件
invokeDefine.StudentEvent += eventFunction.Student2;
invokeDefine.Invoke();
Console.ReadKey();
}五、總結(jié)
第一點(diǎn):在定義事件類(lèi)的外部,他是不能使用=號(hào)來(lái)操作,只能用+=。
第二點(diǎn):在定義事件類(lèi)的外部不能調(diào)用 事件。
第三點(diǎn):事件就是在委托的前面增加一個(gè)event關(guān)鍵字。
到此這篇關(guān)于C#委托事件的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#動(dòng)態(tài)創(chuàng)建Access數(shù)據(jù)庫(kù)及表的方法
這篇文章主要介紹了C#動(dòng)態(tài)創(chuàng)建Access數(shù)據(jù)庫(kù)及表的方法,以實(shí)例形式分析了創(chuàng)建access數(shù)據(jù)庫(kù)及在access數(shù)據(jù)庫(kù)中建表的完整過(guò)程,是非常實(shí)用的技巧,需要的朋友可以參考下2014-12-12
c#刪除數(shù)組中符合條件的元素(正確寫(xiě)法)
這篇文章主要介紹了c#刪除數(shù)組中符合條件的元素,分別給大家展示了錯(cuò)誤寫(xiě)法和正確寫(xiě)法,補(bǔ)充介紹了從C#的數(shù)組中刪除指定元素的幾種方法,需要的朋友可以參考下2023-10-10
C#使用Http Post方式傳遞Json數(shù)據(jù)字符串調(diào)用Web Service
這篇文章主要為大家詳細(xì)介紹了C#使用Http Post方式傳遞Json數(shù)據(jù)字符串調(diào)用Web Service,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
淺析c#范型中的特殊關(guān)鍵字where & default
以下是對(duì)c#范型中的特殊關(guān)鍵字where和default進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下2013-09-09
C#實(shí)現(xiàn)的三種模擬自動(dòng)登錄和提交POST信息的方法
這篇文章主要介紹了C#實(shí)現(xiàn)的三種模擬自動(dòng)登錄和提交POST信息的方法,分別列舉了WebBrowser、WebClient及HttpWebRequest實(shí)現(xiàn)自動(dòng)登錄及提交POST的相關(guān)實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11

