1.什麼是委託就是把方法作為引數傳給另乙個方法。委託說指向的函式,必須和函式具有相同的簽名(返回值和引數型別)
以上方法好像沒有位元組用方法來得直接,那麼用委託到底好在**?public delegate void delsayhi(string name);
class proglem
public static void test(string name,delsayhi del)
public static void saychinese(string name)
public static void sayenglish(string name)
}
個人認為,委託的精華事lamda表示式,如下是乙個lamda表示式的小例子:
public delegate void sayhi(string name)
class progtam
;del(「張三」);
console.readkey();
}}
2.關於匿名函式(沒有函式名的函式):
類似這樣的用法叫做匿名函式:
object result=getmax(o,delegate(object o1,object o2));
以下是匿名函式的完整小例子:class program
object result=getmax(o,delegate(objecto1,object o2));
console.writeline(result);
console.readkey();}}
public static object getmax(objectnums,compatrdel del)
;int max=getmax(nums,compare1);
console.writeline(max);
console.readkey();
string names=;
getmax(names,(string s1,string s2)=>)
console.readkey();
}public static t getmax(t nums,delcomparedel)
;deltwo del2=(string name)=>{};
delthree del3=(sting name)=>;
listlist=new list() ;
list.removeall(n=>n>4);
foreach(var item in list)
console.readkey();
}}
其中,有一種lamda表示式的特殊形式,要特別關注:
listlist=new list() ;
list.removeall(n=>n>4);
foreach(var item in list)
console.writeline(item);
5.委託的運用之窗體傳值:
在窗體1:
void showmsg(string str)
form2 fm=new form2(showmsg);
fm.show();
窗體一又方法,沒有值。
窗體二,有值沒有方法。
在窗體2中:
public delegate void deltest(string str);
public deltest _del;
public form2(deltest del)
private void button_click(objectsender,eventargs e)
通過這種方法可以實現在新窗體中控制父窗體中的控制項。
5.多播委託:(宅男我不由地想好了波多野結衣)
委託不僅僅能指向乙個函式,還能指向多個函式,這是通過duobo委託實現的。
如下事例子:
public delegate void deltest(string name);
class program
public static void t1()
public static void t2()
public static void t3()
public static void t4()
}
有一段時間沒寫了,之前在做一兩個老師布置的小專案,希望自己能夠堅持寫下去。
關於委託的一些知識
c 語言規範中提到 1 委託是引用乙個或多個方法的資料結構。對於例項方法,委託還可引用例項方法對應的物件例項。2 在 c 或 c 中與委託最接近的是函式指標,但函式指標只能引用靜態函式,而委託則既可以引用靜態方法,也可以引用例項方法。在後一種情況中,委託不僅儲存了乙個對該方法入口點的引用,還儲存了乙...
關於mybatis的一些學習筆記
properties定義在配置檔案中可以使用的變數 property name value 引用變數 檔名.properties 放與資料庫連線的資訊 儲存driver url username userpasswd鍵值成對儲存資訊 在properties標籤中 外部檔案優先於內部定義的proper...
關於框架的一些學習筆記
服務端n層架構體系中 mvc 今天才知道原來傳統的mvc中v是可以直接與m互動,m也做了些弱業務處理 mvp 所以至今為止公司用的都是mvp,就是m和v是完全分離的,少了p就相當於兩個孤島,mv互動必須通過p 在服務端n層架構體系中,mvc,mvp等架構思想僅是運用在表示層,而移動端的是應用在整個專...