Better rearranged code for memo
2015-07-28 13:37
316 查看
Original code:
Better rearranged code:
Original code:
public virtual int Index { get { return _parameter.Index; } set { if (_parameter == null) { Logger.WriteLineWarning("No parameters connected. Ignored"); return; } if (UIParamMeta != null) { if (UIParamMeta.ReverseOrder) { int delta = _parameter.Index - value; if (UIParamMeta.IsCyclic) { int targetIndex = _parameter.Index + delta; if (targetIndex >= ValuesCount) { _parameter.Index = targetIndex - ValuesCount; } else if (targetIndex < 0) { _parameter.Index = ValuesCount + targetIndex; } else { _parameter.Index = targetIndex; } } else { _parameter.Index += delta; } } else { if (UIParamMeta.IsCyclic) { if (value >= ValuesCount) { _parameter.Index = value - ValuesCount; } else if (value < 0) { _parameter.Index = ValuesCount + value; } else { _parameter.Index = value; } } else { _parameter.Index = value; } } } else { _parameter.Index = value; } } } |
public virtual int Index { get { return _parameter.Index; } set { if(_parameter == null) { Logger.WriteLineWarning("No parameters connected. Ignored"); return; } int newIndex = value; if (UIParamMeta != null) { int delta = UIParamMeta.ReverseOrder ? (_parameter.Index - value) : (value - _parameter.Index); newIndex = _parameter.Index + delta; if (UIParamMeta.IsCyclic) { newIndex = (newIndex + ValuesCount) % ValuesCount; } } _parameter.Index = newIndex; } } |
相关文章推荐
- linux 查看进程的命令2(ps)
- js的时间操作方法
- marmalade android 5.0 JNI 调用失败的解决方案
- 翻译:理解TCP/IP网络栈&编写网络应用(上)
- 钱币兑换问题(母函数)
- 如何用netstat命令查看所有开放的端口
- 九度oj 1047
- poj解题报告——2313
- windows定时任务
- stvd软件的精确讲解
- spring-基于Spring可扩展Schema提供自定义配置
- java - sap 概念
- AndroidStudio-------IdeaVim插件
- What's new in Windows 10 Enterprise with Microsoft Edge.(Windows 10 新功能)
- 2015GitWebRTC编译实录15
- 【黑马程序员】java的时间操作
- Windows共享内存示例
- 安装mingw+msys问题之一——mintty
- MFC中 如何判断一个字符串是否是有效的目录 或盘符
- Ubuntu 12.04 LTS 中文输入法的安装