Как я могу назначить переменную из статического свойства, используя деревья выражений? - PullRequest
4 голосов
/ 23 марта 2012

Учитывая ParameterExpression типа DateTime, как мне сгенерировать дерево выражений для присвоения DateTime.Now.Date этой переменной?

var x = Expression.Parameter(typeof(DateTime), "now");
var dateTimeNow = ... ? // What goes on this line?
var assignment = Expression.Assign(x, dateTimeNow);

Я хочу, чтобы результатом присваивания было значение DateTime.Now.Date при вызове результирующего выражения, а не во время компиляции.

1 Ответ

5 голосов
/ 23 марта 2012
var dateTimeNow = Expression.Property(
    Expression.Property(null, typeof(DateTime).GetProperty("Now")),
    "Date");
...