读书人

怎么动态指定排序字段

发布时间: 2012-02-10 21:27:41 作者: rapoo

如何动态指定排序字段
var souce=ataSouce.OrderByDescending(o => o.ID)

其中o.ID是不定的,还有很多字段,比如o.Name, o.Age等等,现在我能通过用户的操作得到想排序的字段
string dataOrderBy= "o.xx"; 其中xx动态获得,我想要达得以下面这种突起果:

var souce=ataSouce.OrderByDescending(o => dataOrderBy)

应该如何实现呢?

PS:类似于需要C中的宏替换功能,但C#中没有,希望得到好的变通方法,谢谢。

[解决办法]

string dataOrderBy= "o.xx";

var souce=ataSouce.OrderByDescending(o => GetPropertyValue(o,dataOrderBy));

private static object GetPropertyValue(object obj, string property)
{
System.Reflection.PropertyInfo propertyInfo=obj.GetType().GetProperty(property);
return propertyInfo.GetValue(obj, null);
}


http://blog.csdn.net/q107770540/article/details/6133484

读书人网 >.NET

热点推荐