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