110,538
社区成员
发帖
与我相关
我的任务
分享
public delegate string DeleteInt(int Num);
//非匿名,先要声明一个方法
public string ConvertInt(int par)
{
return par.ToString();
}
DeleteInt det=ConvertInt;
del(2); //2
//匿名
DeleteInt det = delegate(par)
{
return par.ToString();
}
det(2); //2
匿名方法就是便携函数的简化写法。最终生成的代码中,匿名方法还是被编译为一个成员方法的。写法有2种简化,一种是
var f = delegate(参数类型 形参变量)
{
};
调用
f(参数);
另一种就是用Lambda
var f2 = 变量 =>
{
代码;
};
调用和之前的一样。
应该算吧
private void Form1_Load(object sender, EventArgs e)
{
Button btn = new Button();
btn.Text = "匿名方法";
this.Controls.Add(btn);
btn.Click += delegate(object sender1, EventArgs e1) { MessageBox.Show((sender1 as Button).Text); };
}