個人理解
我盡量的將其轉為我可以理解的形式並做記錄
委託,是乙個類,它通過定義一些方法的型別,從而使得可以將這些方法當作另乙個方法的引數來進行傳遞,從而避免在程式中大量使用if-else(switch)語句,使程式具有更好的可擴充套件性。
乙個簡單的定義是:
namespace..
.}
using system;
using system.collections.generic;
using system.text;
namespace delegate
private
static
void
chinesegreeting
(string name)
//注意此方法,它接受乙個greetingdelegate型別的引數,該引數是返回值為空,引數為string型別的方法
private
static
void
greetpeople
(string name,
greetingdelegate makegreeting)
static
void
main
(string
args)
}}
乙個稍微複雜的定義:(將委託放入乙個類中,以符合封裝性)
namespace..
.}// 可以提供給繼承類來做重寫,以便繼承類拒絕其他物件對它的監視
protected
virtual
void
onfunc
(boiledeventargs e)
}//做事情
public
void
funcdoing()
}class
program
}
我對委託中的事件的理解是,將宣告的委託,當作是屬性,託管給宣告的事件。
這樣,只要被註冊的函式和委託宣告的型別引數一致,事件會幫助完成註冊這件事,從而不需要設定額外的操作。
C 「委託」學習筆記
using system using system.collections.generic using system.linq using system.text namespace delegatetest console.writeline sh3 jiang 組合委託,此時委託就能夠依次執行多...
C 學習筆記 委託
什麼是委託?委託 delegate 是一種可以把引用儲存為函式的型別。委託的宣告非常類似於函式,但不帶函式體 且要使用 delegate關鍵字。委託的宣告指定了乙個型別和引數列表。在定義了乙個委託後就可以宣告該委託型別的變數。接著把這個變數初始化為與委託有相同返回型別和引數列表的函式引用。之後,就可...
C 委託學習筆記
namespace delegate private static void chinesegreeting string name 注意此方法,它接受乙個greetingdelegate型別的方法作為引數 private static void greetpeople string name,gr...