-3
我有一大堆的POCO類的,可以說其中的一個看起來像下面C#拉姆達與通用T類
class Person{
public string Name {get;set;}
public int Age {get;set;}
}
這裏是我的泛型類,
class Helper<T> where T:class{
public Func<IQueryable<T>, IOrderedQueryable<T>> GenerateOrderByExpression(string colName)
{
return x => x.OrderByDescending(y => y.colName);
//colName = NAME can be here for class person, it can be the Age field or something else for some other classes
//how do i become generic here, how can I be able to use which ever field i pass as colName
}
}
你必須使用反射並建立一個'Expression'用於'OrderByDescending'。但是,你通過這樣做解決了什麼問題?這很可能有更好的選擇。 – juharr
你應該看看動態LINQ - 它只是這樣做。 –
@juharr:「LINQ to Entities無法識別方法'System.Reflection.PropertyInfo GetProperty(System.String)'方法,並且此方法無法轉換爲存儲表達式。」 – ishahrier