委托的实际应用
1.窗体传值
public class DelegateHelper { public static DL_ChangeValue changeDelegate; }
窗体一代码:
//委托的声明 public delegate void DL_ChangeValue(String stringValue); public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btn1_Click(object sender, EventArgs e) { //委托的实例化 DelegateHelper.changeDelegate = ChangeMethod; Form2 frm = new Form2(); frm.Show(); } private void ChangeMethod(string aaa) { textBoxX1.Text = aaa; } }
窗体二代码:
public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { DelegateHelper.changeDelegate.Invoke(textBox1.Text); } }
2.通用异常处理
把Action作为一个参数,然后写一个异常处理方法,把这个参数传递进去;
写一个Action的扩展方法,就可以实现方法后面直接处理异常,节省了代码的行数,去掉了重复的代码,使代码变得更加简洁
3.Linq 扩展调用
Where 的参数是泛型委托
顶
收藏
关注
评论
作者:王思明
出处:http://www.cnblogs.com/maanshancss/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。所有源码遵循Apache协议,使用必须添加 from maanshancss
出处:http://www.cnblogs.com/maanshancss/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。所有源码遵循Apache协议,使用必须添加 from maanshancss