您的位置:首页 > 其它

Better rearranged code for memo

2015-07-28 13:37 316 查看


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;

}

}

}
Better rearranged code:

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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: