如何构建属性选择器?

问题描述 投票:0回答:1

我正在尝试使用以下格式创建更新功能:

public int Update(
        Item Item, 
        Expression<Func<Item, object>> selector)

如何读取选择器中选择的属性?我需要属性的名称。

这是因为我想使更新功能更智能,因此它仅更新必须更新的内容。它用于sql,它是一个存储库函数。

谢谢。

c# sql .net repository-pattern
1个回答
0
投票

假设您不希望验证表达式是否实际返回属性值,则可以使用:

public int Update(Item Item, params Expression<Func<Item, object>>[] selectors)
{
    var propertyNames = selectors
        .Select(expression => ((MemberExpression)action.Body).Member.Name);
}
© www.soinside.com 2019 - 2024. All rights reserved.