我今天有一个静态函数,我通过房产表达,我从它创建一个字符串:传递兰巴表达式列表访问属性
public static string SomeFunction<TModel, TProperty>(TModel model, Expression<Func<TModel, TProperty>> expression){...}
我想改变它来处理列表这样的表达式:
static string SomeFunctionForList<TModel, TProperty>(TModel model, List<Expression<Func<TModel, TProperty>>> expressions){...}
在第二种情况下,我会循环表达式并执行我在其上执行的任何逻辑。
这就是我现在如何调用该函数:
SomeFunction(this, m => m.nameOfProperty)
我如何调用该函数,定义表达式的一个列表?我想这一点,但它不工作:
SomeFunctionForList(this,
new List<Expression<Func<TModel, TProperty>>> {
{ m => m.nameOfProperty1},
{ m => m.nameOfProperty2}
});
我收到的TModel和TProperty无法找到一个编译器错误。清楚的是,这在另一个文件中被调用。
我不知道,但我的意思是“TModel的”和“TProperty”不是类型。它们是通用参数。你必须用任何模型类型替换“TModel”,用任何属性类型替换“TProperty”。 –
您遇到的问题是每个产权的“TProperty”都会有所不同? – DavidG
耶 - 基本上,我想发送一个模型和一个lamba表达式列表,并让该方法发挥其魔力 – Corez