以下代碼片段正常工作。C#中OrderBy Switch的替代品
switch (sortOrder)
{
case "Group":
list = list.OrderBy(o => o.Group).ToList();
break;
case "Company":
list = list.OrderBy(o => o.Company).ToList();
break;
case "CurrencyId":
list = list.OrderBy(o => o.CurrencyId).ToList();
break;
case "Field":
list = list.OrderBy(o => o.Field).ToList();
break;
}
但我想寫一個更靈活的代碼,根本不使用開關。例如:
list = list.OrderBy(o => o.sortOrder).ToList();
我該怎麼做?
http://stackoverflow.com/questions/2728340/how-can-i-do-an-orderby-with-a-dynamic-string-parameter –
這實際上是最好的方式。你可以用反射來做,但我不建議你這樣做。嘗試編寫高效的代碼,而不是簡化所有內容。 –