专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > LINQ

linq 构建表达式有关问题

发布时间:2011-06-24 21:55:31 文章来源:www.iduyao.cn 采编人员:星星草
linq 构建表达式问题
如何构建如下语句 s=> object.Equals(s.ID,myObject)

------解决方案--------------------
C# code
class Program
{
    static void Main(string[] args)
    {
        var user = new User { ID = "123" };
        
        var parameter = Expression.Parameter(typeof(User), "s");
        var memberAccessor = Expression.MakeMemberAccess(parameter, typeof(User).GetField("ID"));

        var constant = Expression.Constant("123", typeof(string));
        var call = Expression.Call(typeof(Object), "Equals", null, memberAccessor, constant);
        var lambda = Expression.Lambda<Func<User, bool>>(call, parameter);
        var exec = lambda.Compile();
        var result = exec(user);
        Console.WriteLine(result);
        Console.Read();
    }
}

class User
{
    public string ID;
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: