public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval numberVE) {int number;try {number = OperandResolver.coerceValueToInt(numberVE);} catch (EvaluationException e) {return ErrorEval.VALUE_INVALID;}if (number < 0) {return ErrorEval.NUM_ERROR;}return new NumberEval(factorial(number).longValue());}

public override ValueEval Evaluate(int srcRowIndex, int srcColumnIndex, ValueEval numberVE){int number;try{number = OperandResolver.CoerceValueToInt(numberVE);}catch (EvaluationException){return ErrorEval.VALUE_INVALID;}if (number < 0){return ErrorEval.NUM_ERROR;}return new NumberEval(factorial(number).LongValue());}
