我有一个方法接受一个
Expression<Func<T, object>>
实例。我想获取特定表达式实例返回的实际数据类型,而不是object
。对于直接属性引用,我可以让它工作,所以如果我传递表达式x => x.IntegerProperty
,我可以获得整数的Type引用。这种方法需要将其转换为MemberExpression。然而,我无法使任意表达式工作。例如,如果表达式是x => x.IntegerProperty.ToString()
,我想要获取字符串的Type引用。我无法将其编译为MemberExpression,如果我只使用.Compile()
并检查返回类型,我会得到“object”。我该如何查看特定表达式实例并推导出实际的返回类型?
object
。由于函数需要返回object
,所以生成了必要的表达式来确保它是返回的类型(在这种情况下进行转换)。 - Jeff Mercado