天天看点

C#通过“委托和事件”的方式实现进程监控并与“普通方式”对比

为了不长篇累牍,效果只是简单实现,实际工作中可以随便扩展(选择进程,点击Start按钮进行监控。):

C#通过“委托和事件”的方式实现进程监控并与“普通方式”对比

目标程序消失后弹出提示:

C#通过“委托和事件”的方式实现进程监控并与“普通方式”对比

再附上一个脱去委托和事件的版本,代码如下(实现效果相同):

如果用Action内置委托类型来完成的话就更方便了,代码如下(已经用序号标注关键步骤):

脱去委托和事件的版本代码量明显比用委托和事件的代码量少了,为什么我们还要选择用委托和事件来做这件事呢?到底什么情况下,更适合用委托和事件的方式来完成?书中说,委托可以提高方法扩展性,没错,是这样的,说白了就是因为更高级!个人意见哈,在代码量少,以后不需要扩展方法的情况下,用不着用委托和事件的方式去完成,直接调用方法就好了。如果我说错了,欢迎指正我。

利用C#6.0中的语法糖扩展方法来替代foreach循环,代码量将更少。代码如下: