0
我想做以下操作;如何動態生成C#中的Lambda表達式
public IEnumerable<SalesRegister> GetSalesRegister()
{
return _client.GetAllSalesRegisters().OrderBy(x => x.CompanyName);
}
通過做類似的事情;
public IEnumerable<SalesRegister> GetSalesRegister(string sortBy)
{
return _client.GetAllSalesRegisters().OrderBy(x => sortBy);
}
爲了這個,我曾嘗試以下,但沒有奏效
public IEnumerable<SalesRegister> GetSalesRegister(string sortBy)
{
var type = typeof(SalesRegister);
var param = Expression.Parameter(type, "x");
var len = Expression.PropertyOrField(param, sortBy);
return _client.GetAllSalesRegisters().OrderBy(x => len);
}
我不知道如果我能這樣做,有人可以幫我嗎?
什麼是這裏TDomain? – Learner
這是一個錯字,這是來自我的一個實現的複製代碼。錯過了以實際類型取代。使用SalesRegister進行實施。 –
現在我正在收到編譯時錯誤 - 方法'IOrderedEnumerable System.Linq.Enumerable.OrderBy ,Func )>'的類型參數不能從用法中推斷。嘗試明確指定類型參數。在GetSalesRegister方法的最後一行。 –
Learner