如何将两个参数传递给System.Func

时间:2012-01-19 06:35:47

标签: parameters expression func

我有这样的功能

public BuildColumn<TModel> TEST<TProperty>(
    Expression<Func<TModel, TProperty>> expression, 
    string DisplayName, 
    object HTMLAttributes,
    Expression<Func<TModel, string, TProperty>> SpecialHTMLAttributes, 
    bool Show) {}

如果你看第四个论点,那就是Expression<Func<TModel,string,TProperty>>。我在这里要做的是传递一个lambda表达式和一个字符串值,也许&#34; abc&#34; 。但我无法弄清楚如何在这个论点中传递它们或如何使用它 有谁知道如何将2个参数传递给System.Func<>,还是有更好的选择?

1 个答案:

答案 0 :(得分:1)

也许这是你想要的参数类型:

Func<TModel, string, TProperty>

或表达形式:

Expression<Func<TModel, string, TProperty>>

这将允许你传递这样的东西作为参数:

(model, str) => model.SomeCode(str)