// 1.开源控Meteor:微博地址:开源控Meteor的新浪微博
//2.新浪博客:http://blog.sina.com.cn/systembreakdown
//3.英文名:Meteor
//4.qq交流:406662428
//5.hotmail:kllxyu@hotmail.com
//6.qq群292825893(C#IT技术联盟)
//7.博客园地址:http://www.cnblogs.com/kllxyu/
//8.MSN:开源控Meteor的MSN
class Program
{
#region 2.0-3.0中的委托
delegate void D1();
delegate void D2(string myName);
public static void HelloWorld()
{
Console.WriteLine("Hello World!");
}
public static void HelloWorld2(string name)
{
Console.WriteLine("Hello ,{0}!", name);
}
public static void HelloWorld3(string name)
{
Console.WriteLine("你好,{0}!", name);
}
#endregion
#region 4.0-4.5中的委托
static Action A1;
static Action<string> A2;
#endregion
#region Func 带返回值的委托
static Func<string> F;
static Func<DateTime, string> F2;
static string HelloWorldF1()
{
return "Hello World!";
}
static string HelloWorldF2(DateTime time)
{
return string.Format("Hello World,the time is {0}.", time);
}
#endregion
static void Main(string[] args)
{
Console.WriteLine("****************");
//最老的方式
Console.WriteLine("最老的方式");
D1 d1 = new D1(HelloWorld);
d1();
D2 d2 = new D2(HelloWorld2);
d2("Meteor");
d2 = new D2(HelloWorld3);
d2("开源控Meteor");
Console.WriteLine("****************");
//Console.ReadKey();
//调用结束
//2.0开始支持
Console.WriteLine("****************");
Console.WriteLine("2.0支持");
D1 d11 = delegate
{
Console.WriteLine("Hello World!");
};
d11();
D2 d22 = delegate(string name)
{
Console.WriteLine("Hello,{0}", name);
};
d22("Meteor");
d22 = delegate(string name)
{
Console.WriteLine("你好,{0}!", name);
};
d22("开源控Meteor");
Console.WriteLine("****************");
//Console.Read();
//调用结束
//3.0开始支持 利用Lambda表达式 偷懒的作风
Console.WriteLine("****************");
Console.WriteLine("3.0利用lambda 偷懒的作风");
D1 d13 = () => { Console.WriteLine("Hello World!"); };
d13();
D2 d23 = (string name) => { Console.WriteLine("Hello,{0}!", name); };
d23("Meteor");
d23 = (string name) => { Console.WriteLine("你好,{0}!", name); };
d23("开源控Meteor");
Console.WriteLine("****************");
//Console.Read();
//调用结束
//4.0 4.5 可以使用Action Action其实也是一种委托
Console.WriteLine("****************");
Console.WriteLine("4.0 4.5 可以使用Action Action其实也是一种委托");
A1 = new Action(HelloWorld);
A1();
A2 = new Action<string>(HelloWorld2);
A2("Meteor");
A2 = (string name) => { Console.WriteLine("你好,{0}!", name); };
A2("开源控Meteor");
A2 = delegate(string name) { Console.WriteLine("我就是委托 {0} 你说对吗?", name); };
A2("开源控Meteor");
Console.WriteLine("****************");
//Console.Read();
//调用结束
//Func带返回值的委托
Console.WriteLine("****************");
Console.WriteLine("Func带返回值的委托");
F = new Func<string>(HelloWorldF1);
Console.WriteLine(F());
F2 = new Func<DateTime, string>(HelloWorldF2);
Console.WriteLine(F2(DateTime.Now));
Console.WriteLine("****************");
//D1 ddd = () => { Console.WriteLine("*&&&&&&&&&&&&&7"); };
//ddd();
//D2 dd = (string name) => { Console.WriteLine("hhhhhh " + name); };
//dd("111");
Console.Read();
//调用结束
}
}
优快云:下载地址:http://download.youkuaiyun.com/detail/kllxyu/5685249
百度网盘下载地址:http://pan.baidu.com/s/13Ouee