2017-08-04 55 views
-1

我有這樣一段代碼爲通用倉庫:如何通過表達式作爲參數傳入方法

public PaginatedList<TEntity> Paginate<TKey>(int pageIndex, int pageSize, Expression<Func<TEntity, TKey>> keySelector) { 

      return Paginate<TKey>(pageIndex, pageSize, keySelector, null); 
} 

我如何通過Expression參數?

+0

表達式摘要:此類型支持Windows Presentation Foundation(WPF)基礎結構,不適合在代碼中直接使用。 – rmbq

+1

@rmbq呃什麼?我想你在這裏混淆了。 – DavidG

回答

1

C#編譯器轉換lambda表達式來根據上下文Expression<Func<...>>Func<...>,讓你簡單地傳遞一個lambda來Paginate

var paginatedList = repository.Paginate(0, 10, e => e.EntityId); 

以上,e => e.EntityId被翻譯爲Expression<TEntity,TKey>,其中TEntity是的TEntity類型的存儲庫,TKeyEntityId的類型。

相關問題