你的位置:首页 > 软件开发 > ASP.net > 编写高质量代码改善C#程序的157个建议——建议39:了解委托的实质

编写高质量代码改善C#程序的157个建议——建议39:了解委托的实质

发布时间:2015-08-15 20:00:27
建议39:了解委托的实质理解C#中的委托需要把握两个要点:1)委托是方法指针。2)委托是一个类,当对其进行实例化的时候,要将引用方法作为它的构造方法的参数。设想这样一个场景:在点对点文件传输过程当中,我们要设计一个文件传输类,该传输类起码要满足下面几项功能:传输问题件;按照百分制 ...

建议39:了解委托的实质

理解C#中的委托需要把握两个要点:

1)委托是方法指针。

2)委托是一个类,当对其进行实例化的时候,要将引用方法作为它的构造方法的参数。

设想这样一个场景:在点对点文件传输过程当中,我们要设计一个文件传输类,该传输类起码要满足下面几项功能:

  • 传输问题件;
  • 按照百分制通知传输进度;
  • 传输类能够同时被控制台程序和WinForm应用程序使用。

由于要让通知本身能够被控制台程序和WinFrom应用程序使用,因此设计这个文件传输类在进行进度通知时,就不能显示调用:

Console.WriteLine("当前进度:"+fileProgress);

或者

this.progressText.Text = "当前进度:" + fileProgress;

理想情况下是,在需要通知的地方,全部将其置换成一个方法的指针,由调用者来决定该方法完成什么功能。这个方法指针在C#中就是委托。可以像下面那样声明委托:

public delegate void FileUploadedHandler(int progress);

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:编写高质量代码改善C#程序的157个建议——建议39:了解委托的实质

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录