码迷,mamicode.com
首页 > Windows程序 > 详细

由winform来看action与delegate的区别

时间:2014-05-17 15:16:24      阅读:387      评论:0      收藏:0      [点我收藏+]

标签:winform   style   blog   class   code   c   

bubuko.com,布布扣
 1 private void button1_Click(object sender, EventArgs e)
 2         {
 3             Form2 f = new Form2();
 4             //第一点:简洁
 5             //action and lambda
 6             f.alEmethod += (s => this.textBox1.Text = s);
 7             //delegate and method
 8             f.dmEmethod += delegate(String s){this.textBox1.Text = s;};
 9             f.ShowDialog();
10         }
bubuko.com,布布扣

在第一个窗口添加一个按钮并添加点击监听

bubuko.com,布布扣
 1 public partial class Form2 : Form
 2     {
 3         //第二点:复杂,冗余
 4         //使用Action和Lamdba
 5         public event Action<String> alEmethod;
 6 
 7         //使用自定义delegate和method
 8         public delegate void ChangeTextDelegate(String s);
 9         public event ChangeTextDelegate dmEmethod;
10 
11         public Form2()
12         {
13             InitializeComponent();
14         }
15      // action 按钮
16         private void button1_Click(object sender, EventArgs e)
17         {
18             if(alEmethod!=null){
19                 alEmethod(this.textBox1.Text);
20             }
21         }
22      // delegate 按钮
23         private void button2_Click(object sender, EventArgs e)
24         {
25             if(dmEmethod!=null){
26                 alEmethod(this.textBox1.Text);
27             }
28         }
29     }
bubuko.com,布布扣

很明显了,使用lambda+系统委托更优美

由winform来看action与delegate的区别,布布扣,bubuko.com

由winform来看action与delegate的区别

标签:winform   style   blog   class   code   c   

原文地址:http://www.cnblogs.com/hualongbei/p/3730832.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!