Написание лямбда-выражения для словаря член - PullRequest
0 голосов
/ 06 января 2020

Я хочу достичь этой простой лямбды с выражениями.

x => x.myDictionary["key"] == "value"

Это я уже сделал.

 var parameterExpression = Expression.Parameter(typeof(T), "p");
 var memberExpression = Expression.Property(parameterExpression, "myDictionary");
 var expressionCall = Expression.Call(memberExpression, typeof(IDictionary<string, string>).GetMethod("get_Item"), Expression.Constant("key"));

 var eq1 = Expression.Equal(expressionCall, Expression.Constant("value"));

 var lambda = Expression.Lambda(eq1, parameterExpression);

 q.Where(lambda);

Но фильтр не работает. У вас есть идеи?

...