public B Reduce(B[] values) { A[] wrappedValues = values.Select(wrap).ToArray(); A a = other.Reduce(wrappedValues.ToArray()); return(unwrap(a)); }
public Grade FinalGrade(IValueReducer <Grade> method) { var hwGrade = method.Reduce(homeworks); return(0.3 * hwGrade + 0.7 * exam); }