我們建乙個控制台程式。
未使用委託、事件之前的**
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 的委託和事件時,都一頭霧水,有的不理解委託和事件到底是什麼東西,有的理解了概念,但不知道在什麼場景中應該應用委託和事件,今天我們就一起總結下委託和事件的知識點 委託 我們先從字面上理解委託,就是將事情託付給別人做,而非自己親自做,自己只負責通知。巨集觀上來看,委託就是一種通知機制...