C 事件 換乙個角度理解委託和事件

2021-08-25 13:04:22 字數 919 閱讀 7828

我們建乙個控制台程式。

未使用委託、事件之前的**

using system;

class program

}//首先要定義乙個button類,裡面應該有乙個click方法

public class button

}//上面這個類是封裝了的,使用者不可見,或者理解為使用者不能更

改也可以

//下面這個類提供給使用者

public class forcustome

}可以看出,以上的**實現乙個按鈕是可行的,但兩個按鈕就麻煩了。不到黃河心不甘,我們硬著頭皮再寫兩個按鈕的情況吧。

using system;

class program

}//首先要定義乙個button類,裡面應該有乙個click方法

public class button

}//上面這個類是封裝了的,使用者不可見,或者理解為使用者不能更改也可以

//下面這個類提供給使用者

public class forcustome

//添乙個方法實現是必須的

public void button2_click()

}如果你是自己在試著寫的話,估計你已經崩潰了,這樣實現太難了!

好了,看看微軟是如何解決這個問題的吧。

using system;

//先宣告乙個委託再說,目標是要能呼叫forcustome類裡的方法,所以注意方法簽名

public delegate void mydelegate();

public class button

}class program

}//這個類提供給使用者的,沒有變化

public class forcustome

//添乙個方法實現是必須的

public void button2_click()}

c 委託和事件再理解

委託 c 中的委託類似於 c 或 c 中的函式指標。使用委託使程式設計師可以將方法引用封裝在委託物件內。然後可以將該委託物件傳遞給可呼叫所引用方法的 而不必在編譯時知道將呼叫哪個方法。與 c 或 c 中的函式指標不同,委託是物件導向 型別安全的,並且是安全的。委託宣告定義一種型別,它用一組特定的引數...

C 委託和事件的理解

委託 private delegate string getastring 委託的定義,使用delegate關鍵字 兩種指向方法的寫法 getastring a new getastring x.tostring a指向了x中的tostring方法 getastring a x.tostring 兩...

如何理解c 委託和事件

有很多同學在學習c 的委託和事件時,都一頭霧水,有的不理解委託和事件到底是什麼東西,有的理解了概念,但不知道在什麼場景中應該應用委託和事件,今天我們就一起總結下委託和事件的知識點 委託 我們先從字面上理解委託,就是將事情託付給別人做,而非自己親自做,自己只負責通知。巨集觀上來看,委託就是一種通知機制...