我需要能够从currentStep
变量中获取类型并将其用于newExpression
分配。该代码正在执行的操作是更改Expression
的输出类型。有没有一种方法可以根据currentStep类型动态设置newExpression
func out类型?
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
类中使用。