public static Func <TEntity, Action <TPropertyValue> > CompileFunctionalSetter <TEntity, TPropertyValue>(this MemberExpression memberExpression) { Action <TEntity, TPropertyValue> setter = memberExpression.CompileSetProperty <TEntity, TPropertyValue>(); Func <TEntity, Action <TPropertyValue> > functionalSetter = e => v => setter(e, v); return(functionalSetter); }
private HiddenFormFieldsScorer Add <TProperty>(string formField, MemberExpression memberExpression, Func <StringValues, TProperty> converter, Func <Func <TProperty>, Action <Action <TProperty> > > action = null ) { if (action == null) { action = convert => set => set(convert()); } var setter = memberExpression.CompileSetProperty <TEntity, TProperty>(); Func <TEntity, Action <StringValues> > straightAction = e => sv => action(() => converter(sv))(v => setter(e, v)); Add(formField, straightAction); return(this); }