.NET平台已经发生了很多变化,最近决定好好的系统的学习一下了,开发做了这么多年,老实说很多时候都是在吃老本,这样下去不行的。。。
今天学习的是Func<T,TResult>,它是新的委托申明方式,较之前的简洁多了。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace BaiduTranslate { class LambdaTest { delegate int InterDelegate(int a); /// <summary> /// 传统方法 /// </summary> public void Tradition() { InterDelegate idelegate = AA; idelegate += BB; idelegate(10); } /// <summary> /// 新方法 /// </summary> public void New() { Func<int, int> idelegate = AA; idelegate += BB; idelegate(10); } /// <summary> /// 遍历执行注册列表 /// </summary> public void Test() { Tradition(); Console.WriteLine("-------------分割线-----------"); New(); } private int AA(int c) { Console.WriteLine("AA method:{0}", c); return c; } private int BB(int c) { Console.WriteLine("BB method:{0}", c); return c; } } }
运行结果是一样一样的。