Как передать два параметра в System.Func - PullRequest
0 голосов
/ 19 января 2012

У меня есть такая функция

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

Если вы посмотрите на 4-й аргумент, это Expression<Func<TModel,string,TProperty>>.Здесь я пытаюсь передать лямбда-выражение и строковое значение, возможно, «abc».Но я не мог понять, как передать их в этом аргументе или как его использовать.
Кто-нибудь знает, как передать 2 параметра в System.Func<>, или есть лучшая альтернатива?

1 Ответ

1 голос
/ 20 января 2012

Возможно, это требуемый тип параметра:

Func<TModel, string, TProperty>

Или форма выражения:

Expression<Func<TModel, string, TProperty>>

Это позволит вам передать в качестве аргумента нечто подобное:

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