Expression.Call вложенные функции - PullRequest
0 голосов
/ 29 марта 2019

У меня есть вложенный функционал, подобный следующему: Func<A, Func<B, C>>.

Я пытаюсь построить дерево выражений, которое может:

  • Вызвать внешний функционал
  • Вызовите возвращенный func

Проблема, с которой я, похоже, сталкиваюсь, заключается в том, что Expression.Call требует информацию о цели и методе заранее, а это неизвестно (или я не знаюне знаю, как его получить) пока функция не вернется после первого вызова.

Должен быть способ сделать это, но пока я застреваю после первого вызова.

1 Ответ

0 голосов
/ 01 апреля 2019

Мне действительно удалось решить это самому, в итоге это стало пробелом в моих знаниях.

Ответ таков: поскольку Func<_> является делегатом, вы можете использовать Expression.Invoke вместо Expression.Callи Expression.Invoke поддерживает работу над значением выражения, в отличие от запроса информации о цели и методе заранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...