在向大家详细介绍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 课程
【编辑推荐】