public ReducerWrapper(object reducerHostInstance, MethodInfo methodInfo) { if (reducerHostInstance == null) { // Static method Reduce = (ReduceHandler) Delegate.CreateDelegate( type: typeof(ReduceHandler), method: methodInfo); } else { // Instance method Reduce = (ReduceHandler) Delegate.CreateDelegate( type: typeof(ReduceHandler), firstArgument: reducerHostInstance, method: methodInfo); } }
public T Reduce(IEnumerable <T> list, ReduceHandler reduceFunction) { return(reduceFunction(list)); }