首页 新闻 会员 周边

如何获取表达式树的值???

0
悬赏园豆:20 [已解决问题] 解决于 2014-11-25 10:26
public void Require(Expression<Func<Product1, string>> pro, string errorMessage)
        {
            //string proValue=pro得到值

            if (string.IsNullOrEmpty(proValue))
            {
                throw new Exception(errorMessage);
            }
        }

如上代码,pro表达式树如何到得返回的值?还请大家指教,谢谢!

梦在旅途的主页 梦在旅途 | 初学一级 | 园豆:10
提问于:2014-11-24 11:50
< >
分享
最佳答案
0

咋就没有人回答呢?我自己解决了,其余我是陷入了对表达式树理解的误区了,认为表达式树包含委托就可以执行,参数在传进去的时候就有了,其实不是,代码修改如下:

public void Require(Expression<Func<Product1, string>> pro, string errorMessage)
        { 
        Func<Product1, string> func=pro.Compile();
            string proValue=func(this); //this为当前类对象,之前就是纠结参数传入的问题!!
 
            if (string.IsNullOrEmpty(proValue))
            {
                throw new Exception(errorMessage);
            }
        }
梦在旅途 | 初学一级 |园豆:10 | 2014-11-25 10:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册