[英]How can i get property names from an Expression tree?
我的方法是
public Task<Product> GetProduct(int productId, params Expression<Func<Product, object>>[] properties)
{
var member = properties[0].Body as MemberExpression;
var v = member.Member.Name;
}
我可以通過使用適當的索引來獲得單個屬性名稱
var member = properties[0].Body as MemberExpression;
var v = member.Member.Name;
但這不是我想要的。 我很想獲得所有屬性名稱和string.linq加入它們。
我怎樣才能做到這一點?
as
運算符,然后過濾不是屬性的那些。 如果你使用的鑄造,它會拋出異常,但as
只會返回null。
var all =
string.Join(", ", properties
.Select(x =>
x.Body as MemberExpression))
.Where(x => x != null)
.Select(x =>
x.Member.Name));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.