博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
当使用Switch时 case太多,用委托代替
阅读量:4477 次
发布时间:2019-06-08

本文共 1370 字,大约阅读时间需要 4 分钟。

switch (_mediaState)            {                case State.Run:                  AAA();                    break;                case State.Stop:                   BBB();                    break;                case State.Forward:                    CCC();                    break;                case State.Rewind:                    DDD();                    break;            }
public delegate void RelaceSwitch();private  static Dictionary
ReplaceSwitch=new Dictionary
(); public static void MethodRun() { AAA(); } public static void MethodStop() { BBB(); } public static void MethodForward() { CCC(); } public static void MethodRewind() { DDD(); } private static void Adddic() { ReplaceSwitch.Add(State.Run, MethodRun);//ReplaceSwitch[State.Run]=MethodRun; ReplaceSwitch.Add(State.Stop, MethodStop); ReplaceSwitch.Add(State.Forward, MethodForward); ReplaceSwitch.Add(State.Rewind, MethodRewind); } private static void Exec(State state, RelaceSwitch action) { action.Invoke(); }

调用

去掉switch

首先Adddic();

之后Exec(_mediaState, ReplaceSwitch[_mediaState]);

 

转载于:https://www.cnblogs.com/dzh1990/p/8276053.html

你可能感兴趣的文章
2017-2018-1 20155226 《信息安全系统设计基础》第四周学习总结
查看>>
方法(参数的传递)
查看>>
Vue Baidu Map 插件的使用
查看>>
再一次写爬虫 - 爬取猫眼电影 Top100 榜
查看>>
转 网页设计中文字颜色的搭配技巧
查看>>
强制下线功能
查看>>
学生信息管理系统(C语言版本)
查看>>
如何花两年时间面试一个人
查看>>
条件转移指令
查看>>
svn update错误
查看>>
discuzX3后台管理插件开发示例一 用户表查询
查看>>
简易学生成绩管理管理系统(java描述)
查看>>
UITableView中cell里的UITextField不被弹出键盘挡住
查看>>
POJ 2509
查看>>
在Unix系统中,主存索引节点和辅存索引节点从内容上比较有什么不同,为什么要设置主存索引节点?...
查看>>
时间大小比较
查看>>
情人节——爱心代码
查看>>
Java冒泡排序
查看>>
FastDFS 双tracker负载均衡 及多组存储配置
查看>>
Windows10 MySQL8.0.12 非安装版配置启动
查看>>