**:
本節學習了泛型委託action和fun兩類特殊的委託,這兩個特殊的委託是dot framewrok自帶的。結合lambda表示式,可以在寫程式時,簡潔**和提高編碼效率。
(一)action和fun兩個委託的不同點:
action只能委託必須是無返回值的方法
fun只是委託必須有返回值的方法
(二)**演練
usingsystem;
usingsystem.collections.generic;
usingsystem.linq;
usingsystem.text;
usingsystem.windows.forms;
//方法一:顯式宣告了乙個委託,並將對 例項方法的引用分配給其委託例項。
public delegatevoidshowname();
public delegatevoidshownamewithparameter(stringname);
public delegatevoidshowage(intage);
public delegatevoidshownameandage(stringname, intage);
public delegateintreturnname(stringname);
namespaceactiondemo
set}
privateintinstanceage;
publicintinstanceage
set}
publicperson(stringname,intage)
publicvoiddisplayname()
",this.instancename);
}publicvoiddisplayname(stringname)
",name);
}
publicvoiddisplayage(intage)
",age);
}publicvoiddisplaynameandage(stringname, intage)
and age: ",name,age));
}publicintgetagebyname(stringname)
else}}
classprogram
staticvoidmain(string args)
{#regionaction相關
person person =newperson("joetao",21);
//非泛型委託
//showname showname = new showname(name.displayname);
//另一種寫法
showname showname =person.displayname;
showname();
shownamewithparameter shownamewithparameter =person.displayname;
shownamewithparameter(person.instancename);
showage showage =person.displayage;
showage(person.instanceage);
shownameandage shownameandage =person.displaynameandage;
shownameandage(person.instancename, person.instanceage);
string>actionshowname1 =person.displayname;
actionshowname1(person.instancename);
actionactionshowage =person.displayage;
actionshowage(person.instanceage);
actionactionshownameandage =person.displaynameandage;
actionshownameandage(person.instancename, person.instanceage);
actionactionshowname1 =person.displayname;
actionshowname1(person.instancename);
actionactionshowage =person.displayage;
actionshowage(person.instanceage);
actionactionshownameandage =person.displaynameandage;
actionshownameandage(person.instancename, person.instanceage);
string>actionshowname1 =person.displayname;
actionshowname1(person.instancename);
actionactionshowage =person.displayage;
actionshowage(person.instanceage);
actionactionshownameandage =person.displaynameandage;
actionshownameandage(person.instancename, person.instanceage);
Action泛型委託
描述 封裝乙個方法,該方法只採用乙個引數並且不返回值.語法 public delegate void action t arg t 引數型別 此委託封裝的方法的引數型別 arg 引數 此委託封裝的方法的引數 備註 通過此委託,可以將方法當做引數進行傳遞.其他形式 public delegate vo...
C 學習筆記 泛型委託Action和Fun
本節學習了泛型委託action和fun兩類特殊的委託,這兩個特殊的委託是dot framewrok自帶的。結合lambda表示式,可以在寫程式時,簡潔 和提高編碼效率。一 action和fun兩個委託的不同點 action只能委託必須是無返回值的方法 fun只是委託必須有返回值的方法 二 演練 us...
C 委託基礎 泛型委託Action
c 委託基礎系列原於2011年2月份發表在我的新浪部落格中,現在將其般至本部落格。為了方便開發,net基類庫針對在實際開發中最常用的情形提供了幾個預定義好的委託,這些預定義委託用得很廣,比如在編寫lambda表示式和開發平行計算程式時經常要用到他們 對於函式返回值為空的情形,可以使用action泛型...