读书人

linq 构建表达式有关问题

发布时间: 2012-01-30 21:15:58 作者: rapoo

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;} 

读书人网 >.NET

热点推荐