近期面试,发现有一道题很普遍:
程序设计:猫叫,老鼠跑,主人醒。用事件加代理模式实现,要有联动性,老鼠和主人的行为是被动的,考虑猫叫可引起其他联动效应,最好是用C#写
上网查查,都是用委托加事件的方式实现的,这里本人结合在园子里的学习经验,使用泛型委托Action重新写了代码,不足之处请园友们赐教!
(查msdn:Action<T> 泛型委托表示对指定类型的元素执行某些操作的方法。可以创建对元素执行所需操作的方法,创建 Action<T> 委托的实例来表示该方法,然后将数组和委托传递给 Array::ForEach<T> 静态泛型方法。对该数组的每个元素调用该方法。)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)