我想建立一個委託:各種數據類型訂貨代表
switch(vm.OrderBy){
case "Title":
vm.Albums = _albumRepo.Get(a => a.Title);
break;
case "Artist":
vm.Albums = _albumRepo.Get(a => a.Artist.Name);
break;
case "Price":
vm.Albums = _albumRepo.Get(a => a.Price);
break;
我的資料庫的方法是:
所以,我通過Func<Album, string>
我Get()方法,只要排序屬性的類型爲String,它就很好。然而,價格是一個小數,所以這不會編譯:
_albumRepo.Get(a => a.Price);
我需要創建另一個Get方法,這樣我可以用小數訂購?
public IEnumerable<Album> Get(Func<Album, decimal> orderingDelegate = null){ }
或者是否有更好的方法來做到這一點?
謝謝!
克里斯
我可以。當我必須在沒有委託的情況下調用Get()時有點尷尬 - 獲取