/// <summary> /// Factory method to create Operator objects. /// </summary> /// <param name="szOperator"></param> /// <returns></returns> static public IOperator CreateOperator(string szOperator) { IOperator oprtr = null; if (OperatorHelper.IsArithmeticOperator(szOperator)) { oprtr = new ArithmeticOperator(szOperator); return(oprtr); } if (OperatorHelper.IsComparisonOperator(szOperator)) { oprtr = new ComparisonOperator(szOperator); return(oprtr); } if (OperatorHelper.IsLogicalOperator(szOperator)) { oprtr = new LogicalOperator(szOperator); return(oprtr); } throw new RPN_Exception("Unhandled Operator : " + szOperator); }