c#题例-2025-09-06 01:53:11
日期: 2025-09-06 分类: AI写作 5次阅读
编写一个C#程序,模拟实现一个**有限状态机(Finite State Machine, FSM)**,满足以下要求:
1. 状态机包含三个状态:`Idle`、`Running`、`Paused`,以及一个终止状态`Stopped`;
2. 状态之间有如下合法转换:
- `Idle` → `Running`(通过`Start`事件)
- `Running` → `Paused`(通过`Pause`事件)
- `Paused` → `Running`(通过`Resume`事件)
- `Running`或`Paused` → `Stopped`(通过`Stop`事件)
- 任意状态下接收到`Reset`事件回到`Idle`
3. 不合法的状态转换应抛出自定义异常`InvalidTransitionException`;
4. 提供注册状态变更事件通知功能,当状态发生改变时通知监听器(使用C#的委托/事件机制);
5. 编写测试代码验证所有状态转换和异常处理逻辑正确。
请设计并实现该状态机,并说明你的设计思路。
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
标签:AI写作
上一篇:无
精华推荐