Передать тип в функцию выражения - PullRequest
0 голосов
/ 10 октября 2018

Мне нужно иметь возможность получить тип из переменной currentStep и использовать этот тип для назначения newExpression.Этот код выполняет изменение типа Expression out.Есть ли способ, которым я могу динамически установить тип newExpression func out на основе типа currentStep?

PropertyInfo currentStep = wizardTransaction.GetCurrentStepPropertyInfo();

string currentStepName = wizardTransaction.GetCurrentStepPropertyInfo().PropertyType.Name;

var body = Expression.Property(expression.Body, currentStepName);

var newExpression = Expression.Lambda<Func<TModel, **currentStep.GetType()**>>(body, expression.Parameters[0]);

var model = ModelMetadata.FromLambdaExpression(newExpression, helper.ViewData).Model;

Метод, в котором находится приведенный выше код, является классом static, поэтому ответом будетРешение, для которого это помечено как дубликат, не применяется, поскольку ключевое слово this, используемое в принятом ответе, не может использоваться в классе static.

...