为了不长篇累牍,效果只是简单实现,实际工作中可以随便扩展(选择进程,点击Start按钮进行监控。):
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcukjN4ETYmZGOwEjNmJWO4AjNjFWZwYjY3QWY1cjNmZGMfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
目标程序消失后弹出提示:
再附上一个脱去委托和事件的版本,代码如下(实现效果相同):
如果用Action内置委托类型来完成的话就更方便了,代码如下(已经用序号标注关键步骤):
脱去委托和事件的版本代码量明显比用委托和事件的代码量少了,为什么我们还要选择用委托和事件来做这件事呢?到底什么情况下,更适合用委托和事件的方式来完成?书中说,委托可以提高方法扩展性,没错,是这样的,说白了就是因为更高级!个人意见哈,在代码量少,以后不需要扩展方法的情况下,用不着用委托和事件的方式去完成,直接调用方法就好了。如果我说错了,欢迎指正我。
利用C#6.0中的语法糖扩展方法来替代foreach循环,代码量将更少。代码如下: