0
如何構建表達式樹在C#中返回基於屬性的名稱的屬性的值返回值
Func<Foo, long> getValue(string propertyName)
{
// i think that the beginning of the expression tree would look like this
// but i'm not sure this is correct
var inputParameter = Expression.Parameter(typeof(Foo));
var desiredProperty = typeof(Foo).GetProperty(propertyName);
var valueOfProperty = Expression.Property(inputParameter, desiredProperty);
// ... ??? todo: expression that returns value
}
調用該函數看起來像這樣這部分傳遞到LINQ的選擇方法的另一種表達:
value = getValue("Bar").Invoke(FooInstance)
反射也可以,謝謝!我不確定反射會與SQL Server Linq IQueryable提供程序一起使用。 – zigzag
這是偉大的,用反射我可以完全省略getValue函數,並寫入 'value =(long)typeof(Foo).GetProperty(「Bar」)。GetValue(FooInstance)'' – zigzag