我想建立一个委托:各种数据类型订货代表
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()时有点尴尬 - 获取