首页 新闻 会员 周边

这个怎么写成泛型?

0
悬赏园豆:10 [待解决问题]

上一页

var first = _repository.Get(n => n.CoTraderId.CompareTo(new Guid(id)) < 0).OrderByDescending(n => n.CoTraderId).FirstOrDefault();

CoTraderId 是主键,我已经有方法 GetKeyName() 可以获取主键名称。

 

主要是不知道怎么动态构建lambda 表达式。

请教高手们。

wunaigong的主页 wunaigong | 初学一级 | 园豆:4
提问于:2012-08-30 08:46
< >
分享
所有回答(3)
0

动态创建lambda表达式可以参考这篇文章:http://www.cnblogs.com/zhw511006/archive/2010/05/18/1737891.html

建议参数直接传lambda表达式,这样就不用动态创建了。

artwl | 园豆:16736 (专家六级) | 2012-08-30 09:56
0

这定法,真行啊,很酷

jerry-Tom | 园豆:4077 (老鸟四级) | 2012-08-30 13:36
0
 public void GetResult<T>(T t, string id)
        {
           
            var keyName = GetKeyName(t);
 
            var first = _repository.Where(n => GetValue(n).CompareTo(new Guid(id)) < 0).OrderByDescending(GetValue).FirstOrDefault();
        }
 
        public string GetValue<T>(T t)
        {
            return t.GetType().GetProperty(GetKeyName(t)).GetValue(t, null).ToString();
        }
 
        public string GetKeyName<T>(T t)
        {
            return ......;
        }
RyanCheng | 园豆:474 (菜鸟二级) | 2012-11-29 10:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册