我需要编写一个通用方法,该方法接受泛型类型的实例和以字符串格式表示的属性名称,并返回一个表达式树。
我需要将一个简单的Lambda表达式转换。
a => a.SomePropertyName
其中a
是泛型类型,其将有一个名为SomePropertyName
的属性。
我知道我们可以使用以下反射代码获取属性信息。
System.Reflection.PropertyInfo propInfo = a.GetType().GetProperty("SomePropertyName");
这可能很简单,但我不熟悉表达式树。如果有类似的问题,请提供链接并关闭此问题。
a
和属性SomePropertyName
的类型并将其传递给Func吗? - VamsiTArg
和TResult
的通用方法,那么您可以构建一个Expression<Func<TArg,TResult>>
。 - Marc Gravell