public ParameterValue Evaluate(IList <ParameterValue> parameters, EvaluationContext context) { CellValue[,] args = parameters[0].ArrayValue; int xDim = args.GetLength(0); int yDim = args.GetLength(1); CellValue[,] result = new CellValue[xDim, yDim]; for (int n = 0; n < args.GetLength(0); n++) { for (int m = 0; m < result.GetLength(1); m++) { double coeff = (args[n, m].NumericValue == 0) ? 1 : args[n, m].NumericValue; result[n, m] = (n + 1) * (m + 1) * coeff; } } return(result); }