如何用“字典”替换“switch ... case ...”以获得更好的可维护性

时间:2014-03-05 12:34:18

标签: dictionary case code-maintainability

在我的代码中,我有切换案例,如

switch(iSortCol) {
   case1: if(iSortDir="desc"){order1 = order1.OrderByDescending(x=>x.GROUPNAME);
          elseif(iSortDir="asc")order1 = order1.OrderBy (x=>x.GROUPNAME);

   case2: if(iSortDir="desc"){order1 = order1.OrderByDescending(x=>x.GROUPMASTERID);
          elseif(iSortDir="asc")order1 = order1.OrderBy (x=>x.GROUPMASTERID);}
   ....

   case80:

   case81:
}

“switch ... case ...”的增长导致更多维护代码的工作,我正在考虑如何将代码转换为Dictionary或策略模式以获得更好的可维护性。

顺便说一下,"GROUPNAME""GROUPMASTERID"等1中的属性具有不同的类型 例如。 "GROUPNAME"中的(x=>x.GROUPNAME)是字符串类型,"GROUPMASTERID" int类型中的(x=>x.GROUPMASTERID)

任何人都可以给我一些线索,真的很感激

0 个答案:

没有答案
相关问题