Linq委托實(shí)例化淺談
在向大家詳細(xì)介紹Linq委托實(shí)例化之前,首先讓大家了解下委托的定義,然后全面介紹Linq委托實(shí)例化。
委托的定義:
- delegate string ProcessString( string input );
 
委托可以理解為一個函數(shù)指針,它定義了一個函數(shù)的原型
Linq委托實(shí)例化和使用:
- ProcessString p = new ProcessString( LowerIt );
 - //委托的實(shí)例化就是將委托變量指向一個符合委托原型的實(shí)際方法
 - foreach (string name in foxRiver8)
 - {
 - Console.WriteLine( p ( name ) );
 - //此時的 p 實(shí)際上就是 LowerIt() 方法
 - }
 
Linq委托實(shí)例化指向一個符合委托原型的實(shí)際方法:
- private string LowerIt
 - (string input)
 - {
 - return input.ToLower();
 - }
 
小結(jié):
◆委托可以看作是托管版本的函數(shù)指針
◆委托只對方法的原型(簽名)進(jìn)行約束
◆委托可以方便我們在程序運(yùn)行時動態(tài)決定對象的行為
委托和接口有什么區(qū)別?
◆委托約束單一方法
◆接口約束的內(nèi)容更加豐富
我們在以前的課程中學(xué)習(xí)過哪些接口或委托?
IHttpHandler 是一個接口
AutoComplete 控件中的 ServiceMethod 可以看作是一個委托,兩者的具體原型請參考Y2的  ASP.NET 課程 和 AJAX 課程
【編輯推薦】















 
 
 
 
 
 
 