protected void Button2_Click(object sender, EventArgs e) { //MyDelegate d = new MyDelegate(Sum); // int result = d.Invoke(12, 15); //Response.Write("<srcipt>alert('" + result + "')</srcipt>"); MyDelegateString d = new MyDelegateString(ShowText); //string msg = d("Hello World..."); // for string d("Hello World..."); // Response.Write("<srcipt>alert('" + msg + "')</srcipt>"); //Console.WriteLine(result); //Console.ReadLine(); }
static void Main(string[] args) { //MyDelegate myDelegate = delegate () { Console.WriteLine("匿名函数"); }; //myDelegate(); //MyDelegate myDelegate1 = DoSth; //myDelegate1();//↑↓ 反编译为相同声明形式 //MyDelegate myDelegate2 = new MyDelegate(DoSth); //myDelegate2(); //拉姆达表达式 MyDelegate mdl = () => { Console.WriteLine("拉姆达表达式"); }; mdl(); MyAddDelegate myAddDelegate = (int n1, int n2) => { return(n1 + n2); }; Console.WriteLine(myAddDelegate(5, 6)); MyDelegateString myDelegateString = x => Console.WriteLine(x); myDelegateString("精简写法"); MyDelegateStr myDelegateStr = xy => xy + "带返回值的拉姆达表达式"; Console.WriteLine(myDelegateStr("简化")); Console.ReadKey(); }